threads / discuss / 30386

Maintenance of the maint and master branches of git-po

Subject: Maintenance of the maint and master branches of git-po

## tl;dr

One message between May 2, 2012 and May 2, 2012.

replies: 0people: 1as markdown or json

Jiang Xin· May 2, 2012, 02:42 UTC · lore

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

← back to recent threads