GNU Arch is a distributed source control system. To acquire it, see its home page.
It is designed such that each developer will have his own source repository. This is a problem because ToME's development model is highly centralized. There is one canonical repositry: DarkGod's on Pav's server. Any changes and must be synced and applied to that tree.
That is a problem because the traditional method of doing this with a distributed system, is for the lead developer to accept patches via email and merge them from the other developers' repositories. For ToME that method is unacceptable for a few reasons:
- It's a new barrier to entry to ToME development to have to host one's own publicly-accessible source repository.
DarkGod as a patch merger would present an unacceptable bottleneck because he's not exactly a full-time developer, and sometimes disappears for weeks at a time.
- Flatly, it's just too much work.
Documentation
This GNU Arch Wiki appears full of useful information, including this Quick Introduction to Arch.
Example of use
Here is an example of how to download some sources with it:
First, register the archive if you've never downloaded from it before. Let's assume you want to get some software from the archive foo@example.com--test at url http://example.com/~foo/test/.
tla register-archive http://example.com/~foo/test/
Then get the software from a particular version. Let's say the version you want to download is superdupermodule--experimental--3.0:
tla get foo@example.com--test/superdupermodule--experimental--3.0
And you're done. Later you can go into your checkout and use commands like:
tla update
to update your checkout to the latest revision.
ToME Wiki