[Wine] workflow using git for translations

Frédéric Delanoy frederic.delanoy at gmail.com
Fri Mar 2 06:58:16 CST 2012

On Thu, Mar 1, 2012 at 00:13, fcmartins <wineforum-user at winehq.org> wrote:
> Thanks for the link, it did help. I got confused because there should have been no conflicts since no one else had submitted a patch for that file, but in fact the committer did remove an extra space, hence the conflict.
> I still would like to know what is the best practice here and although I am happy to spend time in the translations and read the wine translation and patch pages but I have no motivation to spend further time in learning git which requires quite some investment to be properly understood. I hope this can be found reasonable if people in the community know the answers for what is not in the wine documentation.
> If I may ask again, I have submitted another patch, which was accepted. I have not made any further changes. Am I supposed to do now a git pull before doing more translation?
> And what if I do further changes before the patch is accepted? Then I need to git stash save and git pull?

To limit the risks of conflict, you want to do regular pulls to be up-to-date.
What you can do:
- create a local branch for your translation work, e.g. 'git checkout
-b translations' and commit your changes there.
- before working on a new translation/submitting a patch, update your
local git, e.g.
  git checkout master (switch to main branch)
  git pull (update your local git)
  git rebase origin translations (move your local branch to the tip of
the main branch)

For instance:
<before changing stuff>
git checkout master && git pull && git rebase origin translations
<hack po/XX.po>
git commit -m "po: Update XX translation" po/XX.po
git format-patch -k -1 (creates a patch file 0001-foobar)
git send-email 0001-foobar (or send it with your usual mail client)

Sometimes, during rebase, your patch may have slightly been altered
(e.g. line width changes, ...) before being committed and rebase will
You can verify your patch status on http://source.winehq.org/patches/
: if it's marked as committed, you may do a 'git rebase --skip'
instead of full conflict resolution

Hope this helps,


More information about the wine-users mailing list