Pitämäni versionhallintajärjestelmä. http://wiki.gnuarch.org/ Mainittakoon, että Darcs on vielä parempi.
Ilmeisesti lähtenyt liikkeelle kasasta skriptejä patchien hallitsemiseen. Erittäin luotettava design: versioiden keskussäilö ei sisällä suoraan tiedostoja versiohistorioineen, vaan tar-paketteja ja patcheihin perustuvia changesetteja versioiden välillä. Repositorysta ei koskaan poisteta tai muuteta mitään, sinne vain lisätään uutta kamaa (niin kuin versionhallinnan oikeastaan pitäisikin tehdä). Koska tavara on gzipattuna, se vie vähemmän tilaa.
Archin toteutus, tla-niminen ohjelma (huom! jos haluatte asentaa archin niin kannattaa etsiä tla:a eikä archia) on tehty C:llä, ja se voi käsitellä keskussäilöä http:n, ftp:n, sftp:n tai suoraan tiedostojärjestelmän välityksellä. Palvelinpuolelle ei tarvita mitään erillistä ohjelmistoa (httpd:n, ftpd:n tai sshd:n lisäksi).
Arch käyttää säilöille ja tiedostoille globaalisti yksiselitteisiä tunnisteita. Tämä tarkoittaa, että tiedostojen nimiä voi vaihtaa, niitä voi jakaa projektien välillä, ja säilöjä voi siirtää pienellä vaivalla. Tiedostojen siirtäminen ja niiden sisällön muuttuminen ovat keskenään riippumattomia ja helposti mergettävissä.
Arch pitää yllä historiaa siitä, mitä kaikkia muutoksia projektipuu sisältää. Tämän historian perusteella se pystyy yhdistelemään älykkäästi muutoksia puista, jotka sisältävät muutoksia samaan (globaalin tunnisteen perusteella) tiedostoon. Arch-projektiin on helppo ottaa osaa: perustaa itselleen haaran jonkun julkisesta säilöstä, tekee sinne muutoksia, ja sitten julkaisee oman säilönsä, jolloin projektin varsinaiset kehittäjät voivat mergettää haluamansa muutokset sisään.
Arch sisältää paljon tukea työhakemiston puoleiselle operoinnille (kuten mahdollisuuden siirtää talteen muutoksia, tehdä toisia muutoksia välissä ja sitten tuoda takaisin aiemmat muutokset) ja pitää kirjaa siitä, mitkä tiedostot kuuluvat projektiin, mitkä ovat väliaikaisia, mitkä varmuuskopioita jne.