Differences from Arch

This page will describe key differences between darcs and Arch.

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

Credit

The original items here were inspired by Martin Pool's What's wrong with Arch

DarcsWiki: DifferencesFromArch (last edited 2006-10-31 23:23:15 by jffwpr01)