Differences from Arch
This page will describe key differences between darcs and Arch.
Contents
- Differences from Arch
- darcs makes it easier to send patches by e-mail
- Arch is more complex and difficult to learn
- darcs preserves individual patches when merging
- Arch has no command to find the changesets that touched a particular file
- darcs stores all the metadata for a repo in one place
- darcs has better Win32 support
- Arch tracks changes in file permissions, darcs does not
- Arch supports nested repositories, darcs does not
- Related Pages
- Credit
darcs makes it easier to send patches by e-mail
Arch lacks an equivalent to darcs send to send an official Arch 'changeset' via e-mail. Its been discussed as a desired feature for Arch, but hasn't shown up yet. Darcs has it now.
As a new user and contributor, this has been my favorite feature of darcs to discover. -- MarkStosberg
Arch is more complex and difficult to learn
Arch has more commands, more steps to setup a new project, and even longer more complex file and directory names.
There are number of active projects now to make a simpler and easier to use interface to Arch, but none claim to be stable or mature yet.
darcs preserves individual patches when merging
As Martin Pool describes in what's wrong with Arch, merging from one branch to another can produce a single big patch. In darcs, each individual patch is preserved, allowing you to merge 5 patches from another repository all at once, and later "unpull" just one of the patches.
You can also read more discussion of how darcs patch merging works versus arch.
Arch has no command to find the changesets that touched a particular file
With darcs this is easy: darcs changes file.txt
darcs stores all the metadata for a repo in one place
With Arch, you can have .arch-ids directories littered throughout the source tree. With darcs, all metadata is stored in _darcs in the top level directory. This has the benefit that ordinary Unix utilities which traverse source directories do not stumble into metadata directories.
darcs has better Win32 support
Darcs builds directly on win32 systems with all of its features. Win32 support for Arch is present, but currently being maintained on a branch with a number of open TODO items. Both darcs and Arch have slower performance on win32.
Arch tracks changes in file permissions, darcs does not
Arch keeps file system meta information it's repository, notably file permissions. Darcs does not.
There is probably a way to use mtree to hack in support for filesystem metadata tracking.
Arch supports nested repositories, darcs does not
Arch makes it possible to build a repository that contains other, unrelated, repositories. This is useful when performing integration tasks from separate sources.
Related Pages
Blog Entries on Arch vs. Darcs
Arch vs. Darcs Mailing List Discussions
David Roundy describes a case where Arch would silently fail while patching, when darcs does the right thing. Tom Lord and others respond, discussing various trade-offs between the designs of Arch and darcs.
Credit
The original items here were inspired by Martin Pool's What's wrong with Arch
