The git-po repository (https://github.com/git-l10n/git-po/) has two branches: maint and master. These two branches track the l10n updates for the counterparts of git.git.
* When translaters send pull requests to maint branch of git-po, they want their translations go into the next maintenance release of git (i. e. 1.7.10.1 for now).
* When translaters send pull requests to master branch of git-po,
they want their translations go into the next release of git
(1.7.11 for now).When I received pull request(s) to maint branch, I will not only merge commit(s) to maint branch, but also merge back to master branch. If not merge maint branch back to master branch of git-po before I send git-request-pull to Junio, it will make troubles to the maintenance of git.git:
1. Maint branch can not fast-forward to master branch,
when new release is out. (See the "Maintenance branch
management after a feature release" section of
`git help workflows`) $ git checkout maint
$ git merge --ff-only master2. Will encounter lots of hard to resolved conflicts when
merge maint branch back to master branch, because
of the indepent location lines like "#: filename:line" in
the git.pot and XX.po files.So when there are updates in maint branch of git-po, I will always generate two request-pull to Junio, one for maint branch, and one for master branch.
To make the merge less pain and less complication, I use a custom merge driver learned from TopGit.
* File ".git/info/attributes"
po/git.pot merge=ours
* File ".git/config"
[merge "ours"]
name = \"always keep ours\" merge driver
driver = touch %A-- Jiang Xin