I'm supposed to post a small introductory guide to gnu arch with respect
to SXEmacs development here:
- gnu arch is a concept and tla is an implementation of gnu arch
- Nonetheless I'll use both terms as synonyms
Step by step guide to your check-out of the mainline
- Download and compile arch tla:
Visit ftp://ftp.gnu.org/gnu/gnu-arch and fetch some recent version
- Generate your arch-id:
tla my-id "Sebastian Freundt <firstname.lastname@example.org>"
(of course use your own names there ;P)
- Registering Steve's archive:
tla register-archive email@example.com http://arch.sxemacs.org/2006
- Check out the sxemacs main line:
tla get -A firstname.lastname@example.org sxemacs--main--22.1.4 sxemacs
Okay, now you have a directory sxemacs (your checkout of steves category)
in your wd to examine.
Step by step guide to create you own branch of the mainline
- Generate your archive:
tla make-archive -s -l email@example.com
<location> may be anything you can access that archive easily.
The modern way of dealing with this is to have a location on the
local file system (specified by an absolute path) and a mirror somewhere
at some webspace.
See also next point.
-s flag is for signed archives which we use here at the SXEmacs
-l flag is for listing which isn't important if you don't distribute
your archive via http
BEWARE: at least Steve has to read from your archive, so if you use
some location like sftp://some.host be sure to also provide a login for
Again the solution is mirroring:
- Generate a mirror:
You can establish a mirror of your archive to provide read-access to
Common scenarios are: archive stored locally via filesystem and
mirrored on some webspace with read-access to everybody.
Again, if you want to avoid fiddling with the magics of a setup of
webDAV you probably want to have the
-l) flag enabled at your
tla make-archive -s -l -m <archive-name> <mirror-location>
archive-name is the archive you want to mirror,
e.g. firstname.lastname@example.org in my case
<mirror-location> is some uri to reach the mirror.
Note: This is YOUR path for WRITING TO the mirror
For instance: If you have a provider of webspace who grants you access
to your web-content via sftp use
Your uri for the outside world of that directory can then be:
- tagging the mainline:
tla tag -S email@example.com/sxemacs--main--22.1.4 sxemacs--<your-branch>--22.1.4
<your-branch> is some indicator to your branch, i use hrop as it is my
nick name of my irc nick name, but be creative :)
- Checkout your branch:
Checking out your own branch after tagging the mainline is just
basically a `tla get' of the mainline but on behalf of your branch
tla get sxemacs--<your-branch>--22.1.4 sxemacs
should establish a directory sxemacs, which is your personal version of
sxemacs in your personal archive
Okay that's it.
Now it merely comes to distributing your archive to the world
- Mirror your archive to the world-reachable location after editing stuff:
Step by step guide to dealing with signed archives
- Go to
- Create a directory
signing there and cd to it
- Pump a default checking rule into it:
echo "gpg --verify-files -" > \=default.check
- Pump a default signature rule into it:
echo "gpg --clearsign" > \=default
Now you can securely verify revisions which are signed.
For SXEmacs archives this is a must!
Fine, now you're an arch guru :)
Wait, until I have some problems with arch, I will contact you immediately
begging for help :)