Darcs
From HaskellWiki
(Difference between revisions)
m (+cat) |
(some quick doc) |
||
| Line 1: | Line 1: | ||
| - | '''darcs''' is a revision control system, written in Haskell. | + | '''darcs''' is a peer-to-peer revision control system, written in Haskell. |
| + | |||
| + | == 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 <tt>_darcs/prefs/boring</tt> | ||
| + | |||
| + | == Operations == | ||
| + | |||
| + | === Unknown items === | ||
| + | |||
| + | *'''creating a item''': these will be "unknown". | ||
| + | |||
| + | *<tt>darcs add</tt>: turns an unknown item into an change | ||
| + | |||
| + | *<tt>darcs remove</tt>: creates an change to remove the item. The item is not deleted, but becomes unknown. | ||
| + | |||
| + | *<tt>darcs whatsnew -l</tt>: show changes and unknown items | ||
| + | |||
| + | === Changes === | ||
| + | |||
| + | *'''removing an item''': also creates a change to remove the item | ||
| + | |||
| + | *'''editing a file''' adds to the edit to the changes | ||
| + | |||
| + | *<tt>darcs whatsnew</tt>: show changes | ||
| + | |||
| + | *<tt>darcs mv</tt>: create a change to move an item | ||
| + | |||
| + | *<tt>darcs replace</tt>: create a change to replace text in a file | ||
| + | |||
| + | *<tt>darcs record</tt>: record changes as a patch | ||
| + | |||
| + | === Patches === | ||
| + | |||
| + | *<tt>darcs pull</tt>: pull patches from another repository | ||
| + | |||
| + | *<tt>darcs push</tt>: push patches to another repository | ||
| + | |||
| + | *<tt>darcs apply</tt>: get patches from an email bundle | ||
| + | |||
| + | == External link == | ||
* [http://darcs.net/ darcs] | * [http://darcs.net/ darcs] | ||
[[Category:Tools]] | [[Category:Tools]] | ||
Revision as of 00:38, 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: pull patches from another repository
- darcs push: push patches to another repository
- darcs apply: get patches from an email bundle
