[Python-Dev] Merging 3.2 to 3.3 is messy because "Misc/NEWS"

Éric Araujo merwok at netwok.org
Sat Nov 12 16:56:12 CET 2011


My usual merge tool is vimdiff, with a little configuration so that it 
shows only two panes instead of three (destination file on the left, 
file from the other branch on the right, and if I need to compare either 
with the common ancestor to see which chunks I want from each file, I 
use a log viewer).

For Misc/NEWS, I have written a merge tool that opens Vim with the 
destination file in a pane and a diff containing the changes on the 
other branch in another pane.  So instead of getting many diff hunks 
between 3.2 and 3.3, I get the 3.3 NEWS on the left and a diff 
corresponding to the 3.2 changes I’m merging on the right, so I can 
copy-paste NEWS entries. There may be duplicates when merging again 
after a push race, but it’s still convenient.  It’s a shell script 
hard-coded to use Vim; I consider these bugs and intend to fix them to 
make it more widely useful.

I initially wrote this script to handle translation branches.  If you 
manage text and translations with Mercurial, say English content in the 
default branch and a French translation in branch named 'fr', when you 
change the English text and merge, a standard merge tool is nearly 
useless, as the two files are near-completely different.  With my tool, 
you get the French file on the left and a diff of the English changes on 
the right, and on you go.

Please help yourself, and don’t forget to look at the README for 
configuration information: https://bitbucket.org/Merwok/scripts-hg

Ezio and I chatted a bit about his on IRC and he may try to write a 
Python parser for Misc/NEWS in order to write a fully automated merge 


More information about the Python-Dev mailing list