File: arch.txt
patch-15 patch-16
Line 146Line 146
name, or you can specify the directory name as the second option to "tla
get".

name, or you can specify the directory name as the second option to "tla
get".


=== Keep your tree up to date ===

Arch updates working trees pretty much just like CVS does.

----8<----
$ cd lnx-bbc--stable--2.1--patch-1
$ tla update
----8<----

== Make your own branch ==

It is possible at this point for you to edit a file and simply "tla commit",
== Make your own branch ==

It is possible at this point for you to edit a file and simply "tla commit",
if you are in a big hurry. Doing things that way, however, deprives you of
many of the features arch offers. The workflow for an arch project is much
more distributed, and allows you to leave several sub-projects and lines of
development simmering in parallel.
if you are in a big hurry. This has the advantage of being the most CVS-like,
and probably the most familiar to you.

Doing things that way, however, deprives you of many of the features arch
offers. The workflow for an arch project is much more distributed, and allows
you to leave several sub-projects and lines of development simmering in
parallel.
=== Make your own archive ===

=== Make your own archive ===

Line 367Line 379
== Public mirrors ==

== Public mirrors ==


Occasionally you'll be partway into a project on a local branch, and you
realize you need help or want to show your work to another developer. Arch to
the rescue!

----8<----
$ tla make-archive --listing --mirror haesslich@zork.net--projects sftp://haesslich@zork.net/home/haesslich/public_html/arch
$ tla archive-mirror haesslich@zork.net--projects
----8<----

Since this was mirrored to the arch subdir of haesslich's public_html on
zork.net, he would direct people to do the following:

----8<----
$ tla register haesslich@zork.net--projects http://zork.net/~haesslich/arch
$ tla get haesslich@zork.net--projects/lnx-bbc--uglification-project
----8<----

=== The stable mirror, and the build's quarantine for it ===

=== The stable mirror, and the build's quarantine for it ===


The official anonymous mirror for lnx-bbc-devel@zork.net--gar is at
http://www.lnx-bbc.org/arch

Currently gargoyle runs two cron jobs that make mirrors. The first one is the
script that mails recently checked-in patchsets to lnx-bbc-cvs. That one
pushes all new commits to lnx-bbc--research up to the mirror each minute.

The second is the autobuild job, which checks out lnx-bbc--stable and runs a
complete build of it. If the build succeeds, the ISO goes up to
http://lnx-bbc.org/builds/, a mail goes out about the success, and the version
that was built is pushed to the mirror. If the build fails, nothing gets
pushed and an error message goes to lnx-bbc-cvs.

= Third party developers =

= Third party developers =


Third-party developers have more flexibility and power under arch than they did
with CVS.

== Downloading from the read-only archives ==

----8<----
== Downloading from the read-only archives ==

----8<----
Line 379Line 424
$ tla get lnx-bbc-devel@zork.net--gar/lnx-bbc--stable--2.1
----8<----

$ tla get lnx-bbc-devel@zork.net--gar/lnx-bbc--stable--2.1
----8<----

Then hack away
Then hack away. Feel free to branch off for your own changes as described
earlier in this document.
== Generating a changeset tarball for us to merge in ==

== Generating a changeset tarball for us to merge in ==


----8<----
$ tla changes -o ,,my-illustrious-changes
$ tar czvf my-illustrious-changes.tar.gz ,,my-illustrious-changes
----8<----

== Publishing your own archive for us to star-merge or replay from ==
== Publishing your own archive for us to star-merge or replay from ==

If you branch off of the mirror and publish your branch as described elsewhere
in this document, the LNX-BBC developers can then look at your entire revision
history. This is far more powerful than receiving a changeset in e-mail, as we
get to play with your archive.