Differences from Arch ===================== This page will describe key differences between darcs and `Arch `_. [[`TableOfContents `_([2])]] 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 ------------------------------ - `Hynek's scribbles, August 02, 2004 `_ - `Finding Lisp, January 28, 2005 `_ 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 `_