Changes between Version 21 and Version 22 of DarcsEvaluation

Jul 23, 2008 11:55:30 PM (9 years ago)

Darcs vs Mercurial


  • DarcsEvaluation

    v21 v22  
    244244I can't find a way to do this directly with Mercurial. You can of course do {{{hg rollback}}} and then add a new commit, however.
     246=== Darcs vs Mercurial Overview ===
     248Commands somehow different in behaviour between Hg and Darcs:
     250darcs whatsnew -> hg diff / hg status
     251darcs record -> hg commit / hg record (record extension needed to allow cherrypicking)
     252darcs pull -> hg pull -u / hg pull && hg update (hg pull does not modify the working copy by default)
     253(automatic merging) -> hg merge && hg commit / hg fetch (fetch extension does pull/update/merge in one step, like Darcs)
     254darcs unrecord -> hg rollback (works for just the most recent record/push, confusingly different from Darcs equivalent command)
     257Commands that differ essentialy only in name:
     259darcs rollback -> hg backout --merge (records an inverse changeset, go back as far as you like)
     260darcs changes -> hg log
     261darcs move <FILE> -> hg rename <FILE>
     262darcs send -o <FILE> -> hg bundle <FILE>
     263darcs apply <FILE> -> hg unbundle <FILE>
     266Commands the same between Hg and Darcs:
     268darcs push -> hg push
     269darcs add/remove <FILE> -> hg add/remove <FILE>
     270darcs revert -> hg revert
     271darcs tag -> hg tag
     272darcs annotate -> hg annotate
     275{{{hg addremove}}} adds untracked files and marks missing files as removed. hg commit -A does a similar thing at commit time
     277Misc. differences from Darcs:
     279* Don't have summary/message split: the first line of the message is the summary
     280* Files are not automatically considered removed if you delete them. You need to run hg remove --after <FILE> to remove them from the repo as well
     282To be able to use all the commands in the example above, you should create a .hgrc file in your home directory, looking something like this:
     289username = My Name <>
     292Other issues:
     294 * There appears to be poor support for Windows with the transplant command []
     296 * The transplant command wiki page [] contains the text "Three-way merge doesn't cope particularly well with transplanted patches - it will tend to generate false conflicts",
     297   which doesn't fill me with confidence
     299Setting up a Mercurial HTTP interface: []
    246301== Darcs alternatives still in the running ==