  [[title
                         A GNU Arch Handbook
  ]]

  <"*(start)*" -- $/build/why.html>

  [[abstract
    A guide and reference manual for the GNU Arch Revision Control
    system.
  ]]

  Topics are presented in roughly the order they are encountered 
  by a new programmer joining an existing arch-using project.

  The /GNU Arch/ project itself is used as a "living example":
  readers are encouraged to make sure that they have an up-to-date
  version of this handbook and to learn-by-doing --- trying out
  the examples on the live GNU project's archives --- as you read.
  

  [[blockquote
    [[styled-lines

                             //\Part I\//
                         //\*Fundamentals*\//

      /\1\ Build Your Own `tla' Binary:/
      <"/1.1/ Why build your own?" -- $/build/why.html>
      <"/1.2/ Obtaining Sources" -- $/build/sources.html>
      <"/1.3/ Other Tools You'll Need or Want" -- $/build/othertools.html>
      <"/1.4/ Configure/Build/Test/Install" -- $/build/install.html>
      <"/1.5/ On-line Help" -- $/build/help.html>

      /\2\ Configuring Per-User Parameters:/
      <"/2.1/ Set Your User Identity" -- $/my/id.html>
      <"/2.2/ Pick a Default Archive Location" -- $/my/archloc.html>
      <"/2.3/ Pick a Default Mirror Location" -- $/my/mirrorloc.html>
      <"/2.4/ Set Up a Revision Library" -- $/my/revlib.html

      /\3\ Registering Remote Archives and Making Local Mirrors/
      <"/3.1/ Coordinates for Upstream Projects" -- $/archreg/coords.html>
      <"/3.2/ Registering Archives and Creating Mirrors" -- $/archreg/register.html>
      <"/3.3/ Keeping a Mirror Up to Date" -- $/archreg/mirrormgt.html>

      /\4\ Checking Out a Project/
      <"/4.1/ Check Out a Project" -- $/checkout/checkout.html>
      <"/4.2/ Check Out a Multi-Project Tree" -- $/checkout/checkout-config.html>
      <"/4.3/ Examining a Tree's History" -- $/checkout/tree-state.html>

      /\5\ Starting Your Own Branch/
      <"/5.1/ Create A Personal Archive" -- $/hacking/my-archive.html>
      <"/5.2/ Create a Branch" -- $/hacking/my-branch.html>
      <"/5.3/ Create a Personal Multi-Project Tree" -- $/hacking/my-config.html>
      <"/5.4/ Examining Your Changes" -- $/hacking/changes.html>
      <"/5.5/ Committing Your Changes" -- $/hacking/commit.html>
      <"/5.6/ Merging in Changes from Upstream" -- $/hacking/merge-from-upstream.html>
      <"/5.7/ Publish Your Archive -- an Outbound Mirror" -- $/hacking/branch-publishing.html>

      /\6\ Adding, Deleting, and Renaming Files and Directories/
      <"/6.1/ The Inventory Subsystem" -- $/treedelta/inventory.html>
      <"/6.2/ Naming Convention and Inventory ID Configuration" -- $/treedelta/naming-conventions.html>
      <"/6.3/ Adding a New File or Directory" -- $/treedelta/add.html>
      <"/6.4/ Deleting a File or Directory" -- $/treedelta/delete.html>
      <"/6.5/ Renaming a File or Directory" -- $/treedelta/rename.html>


                            //\Part II\//
                 //\*Advanced Topics*\// (*planned, sorta*)


      */\7\ Maintaining Your Own Project With Arch/
      ^*/7.1/ The Basics: A Star-merge Policy
      ^*/7.2/ A Patch Queue Manager: Why and Roughly How
      ^*/7.3/ Be Strict in What You Transmit...
      ^*/7.4/ Be Tolerant in What You Accept...
      ^*/7.5/ Become an Arch Usage Expert
      ^*/7.5/ Become an Arch Security Expert


      */\8\ Archive Integrity and Cryptographic Signing/
      ^*/8.1/ Familiarize Yourself With Archive-format Basics!
      ^*/8.2/ Checksums
      ^*/8.3/ The Signing Hook

      */\9\ Cherrypicking Merges/

      */\10\ Hacking Tricks with `undo', `mkpatch', `dopatch', and `delta'/

      */\11\ Log Pruning/


                            //\Part III\//
                          //\*Appendices*\//

      */\Appendix A:\ Arch Terminology and the Global Namespace of Arch Revisions/

      */\Appendix B:\ Highlights from Revision Control Theory/

    ]]
  ]]


* Copyright

  Copyright /(C)/ 2005 Tom Lord (`lord@emf.net')

  This program is free software; you can redistribute it and/or modify
  it under the terms of the /GNU General Public License/ as published by
  the Free Software Foundation; either version 2, or (at your option)
  any later version.

  This program is distributed in the hope that it will be useful,
  but \\/WITHOUT ANY WARRANTY/\\; without even the implied warranty of
  \\/MERCHANTABILITY/\\ or \\/FITNESS FOR A PARTICULAR PURPOSE/\\.  See the
  /GNU General Public License/ for more details.

  You should have received a copy of the /GNU General Public License/
  along with this software; see the file <"`COPYING'" --
  $/COPYING.html>.  If not, write to the Free Software Foundation, 675
  Mass Ave, Cambridge, MA 02139, USA.

 [[null
   ; arch-tag: Tom Lord Thu Mar 24 12:14:24 2005 (docs-tla/index.txt)
 ]]
