In addition to what Stephen said ... here's my comments.

On Tue, May 09, 2006 at 08:37:03AM -0700, Jimmy Huang wrote:
> Quick question:
> I imagine darcs record, then darcs send. 
> Sends the whole tree. 

Yeah, I thought that for about a minute, until I tested a darcs "get"
and found that darcs maintained a pristine copy.  So the "record" and
"send" are diffs against this pristine copy kept locally.  In a manner
of speaking.

One trick to really learn this stuff quickly is to do a darcs "get" then
recursive copy the tree *twice* to some other place (/tmp), and then do
darcs operations between the two temporary copies, imagining that one is
yours and one is someone else's.

Things to remember are:

- that a "push" can operate over SSH or local filesystem, and that a
  "send" is a "push" over e-mail.

- that a "get" is the initial "pull", and includes the effects of

- that a "pull" can operate over SSH, local filesystem, and HTTP,

- that an "apply" is the e-mail transport equivalent of "pull".

> Is there a way to do this only to a single directory
> like the robotd directory or a single file? 

Yes.  Had to do this myself last night, when my repository contained
unrecorded changes to several files but I wanted the changes to go as
separate patches.  Just add the file names to the "record".

James Cameron    mailto:quozl at