Changes between Version 21 and Version 22 of DarcsEvaluation


Ignore:
Timestamp:
Jul 23, 2008 11:55:30 PM (6 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 <foo@bar.com> 
     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 ==