[Haskell-cafe] Switching from Mercurial to Darcs

Peter Verswyvelen bugfact at gmail.com
Thu Feb 5 09:44:02 EST 2009


I'm trying to switch from HG to Darcs, but I'm failing miserably in getting
the same productivity. I often do bad checkins with Darcs, merely because
the amount of information I get from Darcs is overwhelming and I don't have
time to read the details of the large set of commands.
With Mercurial, here's my basic workflow:

1) hg st
lists just the filenames of changed, deleted, new files (with a char prefix
to show what kind of change it is). I only want to see the filenames, not
the lines/content. If I want to see changes in the content, I use hg diff
using a visual differ. My brain is not capable of making sense of the
textual diff.

2) modify .hgignore to make sure only these files are added that are part of
the project. I want this process to be automated, I don't want to check each
time which files to add, since this is error prone.

3) hg addrem
this adds new files and removes deleted files from local repos.
forgetting to add files is a common problem, and is really tricky since no
record is made of these files, so if after a couple of versions if a
developer finds out a file was missing, the history is useless since you
can't reconstruct the old content of that local file anymore, and often it's
impossible to give the local file to the other developers since it might be
changed. I actually would like to have an option that automatically
adds/deletes files on each commit, as it is easier to delete a file after it
is checked in, than it is to reconstruct an old version from a local file
you forgot to add.

4) hg commit -m "message"
this commits my changes locally. I always do this before pulling since then
I'm sure my changes are saved in the case a merge goes wrong.

5) hg pull -u
this pulls in changes, and updates and merges the files, using a visual
merger of my preference.

6) hg commit -m "merged"
    hg push

only needed if I did a merge and want to push that merge.

7) back to 1)

It would be nice to know how to do this using darcs, or if a better way
exists using darcs, that would be handy too :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090205/6b200138/attachment.htm


More information about the Haskell-Cafe mailing list