Maintenance of the maint and master branches of git-po

From: Jiang Xin <hidden>
Date: 2016-06-15 22:53:42

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 master

2. 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help