Personal tools

Darcs

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(some quick doc)
Line 38: Line 38:
 
=== Patches ===
 
=== Patches ===
   
*<tt>darcs pull</tt>: pull patches from another repository
+
*<tt>darcs pull</tt>: get patches from another repository
   
*<tt>darcs push</tt>: push patches to another repository
+
*<tt>darcs push</tt>: put patches in another repository
   
 
*<tt>darcs apply</tt>: get patches from an email bundle
 
*<tt>darcs apply</tt>: get patches from an email bundle
  +
  +
=== Repositories ===
  +
  +
*<tt>darcs initialize</tt>: create a new empty repository
  +
  +
*<tt>darcs get</tt>: create a new empty repository and get patches from another repository
   
 
== External link ==
 
== External link ==

Revision as of 00:40, 21 August 2006

darcs is a peer-to-peer revision control system, written in Haskell.

Contents

1 Understanding darcs

You can think of a darcs repository as containing these things:

  • Patches: a patch is a collection of changes that forms the unit of synchronisation with other repositories
  • Unrecorded changes to known files and directories
  • Unknown items (files and directories)
  • Boring items: anything with a name matched in _darcs/prefs/boring

2 Operations

2.1 Unknown items

  • creating a item: these will be "unknown".
  • darcs add: turns an unknown item into an change
  • darcs remove: creates an change to remove the item. The item is not deleted, but becomes unknown.
  • darcs whatsnew -l: show changes and unknown items

2.2 Changes

  • removing an item: also creates a change to remove the item
  • editing a file adds to the edit to the changes
  • darcs whatsnew: show changes
  • darcs mv: create a change to move an item
  • darcs replace: create a change to replace text in a file
  • darcs record: record changes as a patch

2.3 Patches

  • darcs pull: get patches from another repository
  • darcs push: put patches in another repository
  • darcs apply: get patches from an email bundle

2.4 Repositories

  • darcs initialize: create a new empty repository
  • darcs get: create a new empty repository and get patches from another repository

3 External link