Changes between Version 21 and Version 22 of DarcsEvaluation


Ignore:
Timestamp:
Jul 23, 2008 11:55:30 PM (7 years ago)
Author:
batterseapower
Comment:

Darcs vs Mercurial

Legend:

Unmodified
Added
Removed
Modified
  • DarcsEvaluation

    v21 v22  
    243243
    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.
     245
     246=== Darcs vs Mercurial Overview ===
     247
     248Commands somehow different in behaviour between Hg and Darcs:
     249{{{
     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)
     255}}}
     256
     257Commands that differ essentialy only in name:
     258{{{
     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>
     264}}}
     265
     266Commands the same between Hg and Darcs:
     267{{{
     268darcs push -> hg push
     269darcs add/remove <FILE> -> hg add/remove <FILE>
     270darcs revert -> hg revert
     271darcs tag -> hg tag
     272darcs annotate -> hg annotate
     273}}}
     274
     275{{{hg addremove}}} adds untracked files and marks missing files as removed. hg commit -A does a similar thing at commit time
     276
     277Misc. differences from Darcs:
     278
     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
     281
     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:
     283{{{
     284[extensions]
     285hgext.record=
     286transplant=
     287
     288[ui]
     289username = My Name <[email protected]>
     290}}}
     291
     292Other issues:
     293
     294 * There appears to be poor support for Windows with the transplant command [http://www.selenic.com/mercurial/bts/issue1077]
     295 
     296 * The transplant command wiki page [http://www.selenic.com/mercurial/wiki/index.cgi/TransplantExtension] 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
     298
     299Setting up a Mercurial HTTP interface: [http://hgbook.red-bean.com/hgbookch6.html#x10-1310006.6]
    245300
    246301== Darcs alternatives still in the running ==