| | 440 | |
| | 441 | ==== Notes On Conversion ==== |
| | 442 | |
| | 443 | Currently using Tailor. Problems encountered: |
| | 444 | |
| | 445 | * Darcs outputs XML without an encoding header. Patched Tailor to append Latin-1 encoding to the XML output. This will be sent to the tailor author |
| | 446 | * In hg.py, replace the line {{{self._hgCommand('tag', tag)}}} with {{{self._hgCommand('tag', tag, force=True)}}} because we seem to be trying to apply duplicate tags at some points. Don't know quite how this is possible! |
| | 447 | * MUST USE the seperate-subdir mode of Tailor because we have some tricky Darcs patches. I've added my scripts to http://www.selenic.com/mercurial/wiki/index.cgi/Tailor#preview |
| | 448 | * No support for author remapping in Tailor yet. I've added it and I'm going to submit the patch to the Tailor author |
| | 449 | |
| | 450 | === Git === |
| | 451 | |
| | 452 | #git: 388 members |
| | 453 | |
| | 454 | Advantages: |
| | 455 | |
| | 456 | * Speed |
| | 457 | * Very similar workflow possible: {{{git add --patch}}}, {{{git cherry-pick}}}, and others |
| | 458 | * Some operations become feasible (bisect, annotate) |
| | 459 | * Many helper tools |
| | 460 | |
| | 461 | Disadvantages: |
| | 462 | |
| | 463 | * Complex command set? (Though, it should be possible to find replacements for the darcs commands and be happy.) |
| | 464 | * Lack of good Windows support? |
| | 465 | * file and directory renames are not tracked accurately. Merging uses heuristics to discover file/directory renames, which sometimes goes wrong. |
| | 466 | * bisect support would require git modules to also pick the correct version of libraries. Keeping this in sync is not easy, atm. |
| | 467 | * uses its own protocol for network transmission (http works but is slower, however, other hosting services are available, e.g., github) |
| 428 | | |
| 429 | | |
| 430 | | == Darcs alternatives still in the running == |
| 431 | | |
| 432 | | === Mercurial === |
| 433 | | |
| 434 | | #mercurial: 118 members |
| 435 | | |
| 436 | | Advantages: |
| 437 | | |
| 438 | | * Speed comparable to Git |
| 439 | | * Some operations become feasible (bisect, annotate) |
| 440 | | * Many helper tools |
| 441 | | * Good Windows support |
| 442 | | * HTTP and SSH sync possible, but unknown how this compares to Git native protocol sync speed |
| 443 | | |
| 444 | | Disadvantages: |
| 445 | | |
| 446 | | * Similar problems with bisect support as Git |
| 447 | | * (Unknown: suitability of command set?) |
| 448 | | |
| 449 | | ==== Notes On Conversion ==== |
| 450 | | |
| 451 | | Currently using Tailor. Problems encountered: |
| 452 | | |
| 453 | | * Darcs outputs XML without an encoding header. Patched Tailor to append Latin-1 encoding to the XML output. This will be sent to the tailor author |
| 454 | | * In hg.py, replace the line {{{self._hgCommand('tag', tag)}}} with {{{self._hgCommand('tag', tag, force=True)}}} because we seem to be trying to apply duplicate tags at some points. Don't know quite how this is possible! |
| 455 | | * MUST USE the seperate-subdir mode of Tailor because we have some tricky Darcs patches. I've added my scripts to http://www.selenic.com/mercurial/wiki/index.cgi/Tailor#preview |
| 456 | | * No support for author remapping in Tailor yet. I've added it and I'm going to submit the patch to the Tailor author |
| 457 | | |
| 458 | | === Git === |
| 459 | | |
| 460 | | #git: 388 members |
| 461 | | |
| 462 | | Advantages: |
| 463 | | |
| 464 | | * Speed |
| 465 | | * Very similar workflow possible: {{{git add --patch}}}, {{{git cherry-pick}}}, and others |
| 466 | | * Some operations become feasible (bisect, annotate) |
| 467 | | * Many helper tools |
| 468 | | |
| 469 | | Disadvantages: |
| 470 | | |
| 471 | | * Complex command set? (Though, it should be possible to find replacements for the darcs commands and be happy.) |
| 472 | | * Lack of good Windows support? |
| 473 | | * file and directory renames are not tracked accurately. Merging uses heuristics to discover file/directory renames, which sometimes goes wrong. |
| 474 | | * bisect support would require git modules to also pick the correct version of libraries. Keeping this in sync is not easy, atm. |
| 475 | | * uses its own protocol for network transmission (http works but is slower, however, other hosting services are available, e.g., github) |
| 476 | | |
| 477 | | == Eliminated alternatives == |