Understanding Darcs/Working with others

get
makes a copy of an entire darcs repository. Note that we only get the recorded patches (and pristine tree), not any of the pending stuff.



pull/push
copies from some other repository patches that you do not have. The patches are applied to your pristine tree and working directory. This may cause changes to be merged. Note that  does the same thing, but in the other direction.



send
Darcs send is sort of like push, only it doesn't actually apply the patches anywhere. Instead it generates a handy email to the person or people who own the repository. If it can't figure out who owns the repository, it will let you send to any email address you want. Note that you can also pass the -o command to "send" into a file, rather than a mail.

apply
Apply is what you do to a patch that somebody darcs sends to you. You can also use it for the files you generated via send -o. Note: <tt>push</tt> is actually just <tt>apply</tt> in disguise, but with all the boring work of copying files over being done for you.

<tt>put</tt>
<tt>Put</tt> enables to copy a local repository to remote location (for instance, via ssh). Think of <tt>put</tt> as the opposite of <tt>get</tt>.

Dealing with conflicts
So you pulled a patch and you got a conflict. What do you do? See the chapter ../Dealing with conflicts/