[RFC] two improvements to mercurial

Jordan Breeding jordan.breeding at mac.com
Mon Aug 29 19:34:48 CDT 2005


Hello,

I have two ideas for improvements to mercurial:

1) I don't quite know how to accomplish this one but it would be nice  
to use opendiff/FileMerge.app as a merge tool on OS X.  The reason  
that I say I don't quite know how to do this is that opendiff seems  
to be the appropriate way to launch FileMerge from the command line  
in the manner that mercurial expects.  This is okay so far as I know  
how to test for opendiff and use it, the problem come in that  
opendiff seems to exit immediately with a return code of 0 as long as  
it could launch FileMerge.  This seems to cause two problems: a)  
mercurial looks to me like it depends on waiting for the merge tool  
to exit to guarantee that only one file is being merged at a time  
(the opendiff behavior seems like it would cause the user's screen to  
fill up with FileMerge windows), and b) mercurial looks like it uses  
the exit value of the program and hgmerge to tell whether the merge  
failed or not.  If anyone knows of a way to get opendiff/FileMerge  
working with mercurial I think that it would be a nice addition to  
mercurial on OS X.

2) The other idea I have I am going to start implementing within the  
next week or two.  The idea is to have better support for converting  
cvs to mercurial.  Currently one can try to use tailor but I have not  
had the greatest experience while trying to get tailor 0.99 working.   
The cvs import script from git seems to work much better.  So my idea  
is this: change the name of the current convert-repo script to  
convert-git-repo, then come up with two new scripts convert-cvs-repo  
and convert-cvs-branch.  convert-cvs-branch will take a cvs branch  
and convert it into a mercurial repo, it will support incermental  
imports.  convert-cvs-repo will take an entire cvs repo and a  
directory name, it will then use that directory as a container for  
for several mercurial repos (trunk, branch1, branch2), it will also  
support incremental conversions.

I would like feedback as to whether anyone has ideas on how to make  
1) work, and whether people think 2) is worthwhile.  If 2) is  
worthwhile then I will start on it as soon as I can.

Jordan


More information about the Mercurial mailing list