Darcs
Το darcs είναι ένα σύστημα κατανεμημένου ελέγχου εκδόσεων που δημιουργήθηκε από τον David Roundy και σχεδιάστηκε για να αντικαταστήσει τα κεντρικά συστήματα ελέγχου πηγαίου κώδικα όπως το CVS και το Subversion. Δύο ιδιαίτερα χαρακτηριστικά της σχεδίασής του το διαχωρίζουν από το CVS. Κάθε αντίγραφο του δέντρου πηγαίου κώδικα λειτουργεί σαν πλήρες αποθετήριο (repository), επιτρέποντας τη συντήρηση διαφορετικών εκδόσεων σε διαφορετικές τοποθεσίες. Τα patches είναι καθολικά στο repository και μπορούν υπό προϋποθέσεις να αναδιαταχτούν, σύμφωνα με τη "θεωρία των patches" του εγχειρήματος.

Το όνομα είναι αναδρομικό αρκτικόλεξο της αγγλικής φράσης Darcs Advanced Revision Control System, αλλά συνήθως γράφεται με πεζά γράμματα (darcs), αν δεν βρίσκεται στην αρχή πρότασης.

Στη βασική του χρήση, ένας χρήστης μπορεί να πάρει ("get") ένα αντίγραφο ενός repository, να κάνει κάποιες αλλαγές, να καταγράψει ("record") τις αλλαγές αυτές, να τραβήξει ("pull") αλλαγές από άλλα repositories, και στο τέλος να σπρώξει ("push") ή να στείλει ("send") αλλαγές σε άλλα repositories. Για να αρχίσει ένα νέο repository, ο χρήστης μπορεί να αρχικοποιήσει ("init") έναν οποιοδήποτε φάκελο. 

Τα άλλα repositories μπορούν να είναι τοπικοί φάκελοι, ή να είναι προσβάσιμα μέσω των πρωτοκόλλων SSH ή HTTP. Οι αλλαγές μπορούν να υποβληθούν μέσω ηλεκτρονικού ταχυδρομείου σε περιπτώσεις που ο χρήστης δεν έχει δικαίωμα εγγραφής σε ένα άλλο repository.

Το darcs είναι γραμμένο στη γλώσσα συναρτησιακού προγραμματισμού Haskell - ανάμεσα σε άλλα εργαλεία χρησιμοποιεί το QuickCheck.

Οι πιο πολλές εντολές του darcs είναι διαδραστικές, π.χ. επιτρέπουν στο χρήστη να υποβάλλει αλλαγές ή να τραβήξει συγκεκριμένα αρχεία επιλεκτικά. Αυτό το χαρακτηριστικό έχει σχεδιαστεί ώστε να ενθαρρύνει περισσότερη λεπτομέρεια στη δημιουργία patches. Λόγω αυτής της διαδραστικότητας, το darcs έχει λιγότερες ξεχωριστές εντολές σε σχέση με άλλα αντίστοιχα συστήματα ελέγχου εκδόσεων.
None
κατανεμημένου ελέγχου εκδόσεων
UNK
Q128751
πηγαίου κώδικα
Concept
None
CVS
UNK
None
Subversion
UNK
Q170460
SSH
MEDIA
Q8777
HTTP
Concept
Q193076
γλώσσα συναρτησιακού προγραμματισμού
Concept
Q34010
Haskell
MEDIA
None
QuickCheck
UNK
Q204377
Darcs
MEDIA
programming language
instance of