How to use arch with the LNX-BBC project

Since arch is relatively new, its documentation tends toward the general and the architectural. Tutorials are getting better, and lately the gnu-arch wiki has become an invaluable resource. The following documents are very useful:

So download arch and start reading this tutorial. We hope to keep it strictly relevant to the lnx-bbc project.

To start with, here's the nickel tour for using arch the same way you used to use CVS:

Setup

$ tla my-id "My Name <my-email@my-hostname.tld>"
$ gpg --gen-key
$ mkdir ~/.arch-params/signing/
$ echo 'gpg --default-key "<haesslich@lnx-bbc.com>" --clearsign' > ~/.arch-params/signing/\=default
$ echo '/usr/bin/tla-gpg-check gpg_command="gpg --keyserver subkeys.pgp.net --keyserver-options auto-key-retrieve --verify-files -"' > ~/.arch-params/signing/\=default.check

Checkout

$ tla register-archive sftp://haesslich@arch.lnx-bbc.com/var/www/arch/
$ tla get lnx-bbc-devel@zork.net--gar/lnx-bbc--stable
$ tla get lnx-bbc-devel@zork.net--gar/lnx-bbc--research

Update

$ tla update

Checkin

$ tla commit

That should get you on your feet. To reap the benefits of the distributed workflow that arch allows, read on for the $7 tour.

  1. Arch for core LNX-BBC developers
    1. Step One
    2. New names for the branches
    3. gnupg
      1. Make a key
      2. Configure arch to use your key
      3. Send your key to a public keyserver
    4. Check out a branch
      1. Register the archive
      2. Get the stable branch
      3. Keep your tree up to date
    5. Make your own branch
      1. Make your own archive
      2. Make a package to store the branch in
      3. Tag a branch off of stable
      4. Work on your new branch
    6. Fold in work other people put into the official branch
    7. Publish your work to the official branch
  2. More fun things you can do
    1. Cherry-picking changes
    2. moving files
    3. Speeding up remote operations
    4. Public mirrors
      1. The stable mirror, and the build's quarantine for it
  3. Third party developers
    1. Downloading from the read-only archives
    2. Generating a changeset tarball for us to merge in
    3. Publishing your own archive for us to star-merge or replay from
    4. Archive Syndication
    5. Locations of common developer archive mirrors