Search code examples
emacsmercurialemacs-ediff

Is there a way to use hg record with ediff?


I've used hg record to great effect lately, but it's pretty cumbersome. Emacs ediff is a great merge tool, but I haven't seen any way to get it to work with hg record. Is there something I can stick in my .hgrc that will let me use ediff with hg record?


Solution

  • The record command/extension won't launch alternate tools. If you have uncommitted changes and you want to record only some of them you could use this process:

    hg revert path/to/thefile  # resets the file back to the last committed version and saves modfied file in thefile.orig
    ediff thefile thefile.orig # "merge" any changes you want comitted from .orig into thefile
    hg commit # commit the changes you want
    mv thefile.orig thefile    # put the uncomitted changes back in place
    

    Personally, I just commit everything early and often -- having uncommitted data scares the bajezus out of me. If you want a way to keep work-in-progress data committed but flexible check out Mercurial queues.