{"thread":{"id":"30386","subject":"Maintenance of the maint and master branches of git-po","startedAt":"2012-05-02T02:42:33Z","lastAt":"2012-05-02T02:42:33Z","messageCount":1,"participants":["Jiang Xin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"190513","messageId":"CANYiYbHa_0ZKFwRz-FfJO4fP7E9fCqAaEQ2JfPr_UotzBOGpYQ@mail.gmail.com","threadId":"30386","inReplyTo":null,"subject":"Maintenance of the maint and master branches of git-po","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-05-02T02:42:33Z","receivedAt":"2012-05-02T02:42:33Z","isPatch":false,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"The git-po repository (https://github.com/git-l10n/git-po/) has two\nbranches: maint and master. These two branches track the l10n\nupdates for the counterparts of git.git.\n\n * When translaters send pull requests to maint branch of git-po,\n   they want their translations go into the next maintenance\n   release of git (i. e. 1.7.10.1 for now).\n\n * When translaters send pull requests to master branch of git-po,\n    they want their translations go into the next release of git\n    (1.7.11 for now).\n\nWhen I received pull request(s) to maint branch, I will not only\nmerge commit(s) to maint branch, but also merge back to\nmaster branch. If not merge maint branch back to master\nbranch of git-po before I send git-request-pull to Junio, it will\nmake troubles to the maintenance of git.git:\n\n1. Maint branch can not fast-forward to master branch,\n    when new release is out. (See the \"Maintenance branch\n    management after a feature release\" section of\n    `git help workflows`)\n\n        $ git checkout maint\n        $ git merge --ff-only master\n\n2. Will encounter lots of hard to resolved conflicts when\n    merge maint branch back to master branch, because\n    of the indepent location lines like \"#: filename:line\" in\n    the git.pot and XX.po files.\n\nSo when there are updates in maint branch of git-po, I\nwill always generate two request-pull to Junio, one for\nmaint branch, and one for master branch.\n\nTo make the merge less pain and less complication, I\nuse a custom merge driver learned from TopGit.\n\n * File \".git/info/attributes\"\n\n        po/git.pot      merge=ours\n\n * File \".git/config\"\n\n        [merge \"ours\"]\n                name = \\\"always keep ours\\\" merge driver\n                driver = touch %A\n\n-- \nJiang Xin\n"}]}