Squid and GNU Arch
GNU Arch (also known as tla) is a distributed revision control system. You can download it from ftp.gnu.org. Be sure to grab the current stable release. (1.1 at the time of writing). There is an online tutorial, that you should work through for best results. However, assuming you just want to get going...
- Build tla - untar, mkdir build, cd build, ../src/configure && make test && make install.
- Register my squid archive: tla register-archive http://www.squid-cache.org/~robertc/arch/squid
- Assign yourself an id: tla "J. Bloggs "
- Create a location to store various arch things: mkdir -p ~/arch.
- Create a revision library (this should be the same file system you'll be checking out source into.): mkdir -p ~/arch/revisionlibrary; tla my-revision-library /home/me/arch/revisionlibrary
- Create your own archive to store squid stuff in: mkdir -p ~/arch/archives; tla make-archive joe.bloggs@example.com--squid /home/me/arch/archives/joe.bloggs@example.com--squid
- Create the branch you want to hack on: tla archive-setup joe.bloggs@example.com--squid/squid--branch-name--3.0
- Tag (create a symbolic link) from the parent branch: tla tag robertc@squid-cache.org-squid/squid--parent-branch-name--3.0 joe.bloggs@example.com--squid/squid--branch-name--3.0
- Now grab your sources: tla get --library joe.bloggs@example.com--squid/squid--branch-name--3.0 outputdirname
- Hack.
- Check the source tree is intact: tla tree-lint
- Check the changes: tla changes --diffs
- Commit: tla commit -s "Commit message"
- Rinse and repeat
- Make a public mirror of your archive so I can access it: tla make-archive -l -m joe.bloggs@example.com--squid sftp://webhost/home/me/public_html/joe.bloggs@example.com--squid
- Push your changes to the mirror: tla archive-mirror joe.bloggs@example.com--squid
Note that things can be heavily tuned in different directions, and that this is a very very rough guide, simply to get one started