Right, so you've decided to give darcs a spin, but you're a little bit lost with this business of patches, pulling and what not. Here's a custom guide for people who are used to Subversion. First of all, you might want to know about some DifferencesFromSubversion
Darcs at a glance
First of all, Subversion tries to follow CVS as closely as it can. So any instructions for migrating from CVS are also applicable to Subversion. The following table is adapted from the section 'Switching from CVS' in the darcs manual
Subversion idiom |
Similar darcs idiom |
svn checkout |
darcs get |
svn update |
darcs pull |
svn status -u |
darcs pull --dry-run (summarize remote changes) |
svn status |
darcs whatsnew --summary (summarize local changes) |
svn status | grep '?' |
darcs whatsnew -ls | grep ^a (list potential files to add) |
svn revert foo.txt |
darcs revert foo.txt (revert to foo.txt from repo) |
svn diff |
darcs whatsnew (if checking local changes) |
svn diff |
darcs diff (if checking recorded changes) |
svn commit |
darcs record (if committing locally) |
svn commit |
darcs tag (if marking a version for later use) |
svn commit |
darcs push or darcs send (if committing remotely) |
svn diff | mail |
darcs send |
svn add |
darcs add |
svn log |
darcs changes |
? |
darcs tag |
Converting repositories
Got a Subversion repository? Did you know that you can not only convert it to darcs, but also maintain a two-way sync so that you don't force your coworkers to adopt darcs unless they really want to? Read about it in ConvertingFromSubversion.
Pitfalls for the Subversion user
Marginalia
Interoperating with CVS - in case any of this is transposable for Subversion users
