Previous:
The GNU General Public License
, Up:
Top
Indexes
!!!
:
Selected Files Commit
!!!
:
Inventory Ids for Source
#
:
Customizing the inventory Naming Conventions
.arch-inventory
:
Customizing the inventory Naming Conventions
=README
:
Revision Library Basics
add-log-version
:
Starting a New Source Tree
applying a patch
:
Introducing Changesets
archive caching revisions
:
Speeding up arch by Caching Revisions in Archives
archive-cache-revision
:
Elementary Branches -- Maintaining Private Changes
archive-setup
:
Starting a New Project
archives
:
Creating a New Archive
awk
:
Customizing the inventory Naming Conventions
branches
:
Starting a New Project
branching
:
Elementary Branches -- Maintaining Private Changes
cat-archive-log
:
The update/commit Style of Cooperation
cat-library-file
:
Revision Library Basics
cat-log
:
Patch Logs and Project Tree History
categories
:
Starting a New Project
central repository
:
Introducing arch
change history
:
Patch Logs and Project Tree History
changelog
:
Patch Logs and Project Tree History
ChangeLog
:
Revision Library Basics
changes
:
Checking-in Changes
changeset
:
mkpatch
changeset
:
Introducing Changesets
changeset format
:
The arch Changeset Format
cherrypicking
:
Exploring Changesets
Cherrypicking
:
Cherrypicking Changes
clean changeset
:
Exploring Changesets
commit
:
Driving Process Automation with arch Hooks
commit
:
Checking-in Changes
config specs
:
Multi-tree Projects and Configuration Management
delta
:
Introducing Changesets
development line
:
Starting a New Project
dir-local regexps
:
Customizing the inventory Naming Conventions
dopatch
:
dopatch
egrep
:
Customizing the inventory Naming Conventions
file path
:
Inventory Ids for Source
fully
:
Importing the First Revision
fully qualified
:
Shared and Public Archives
get-changeset
:
Exploring Changesets
global regexps
:
Customizing the inventory Naming Conventions
greedy revision library
:
Advanced Revision Library Use
grep -E
:
Customizing the inventory Naming Conventions
hello
:
Starting a New Project
hello world
:
Elementary Branches -- Maintaining Private Changes
hello, world
:
Elementary Branches -- Maintaining Private Changes
import
:
Importing the First Revision
inexact patching
:
Inexact Patching -- How Conflicts are Handled
init-tree
:
Starting a New Source Tree
inventory
:
Project Tree Inventories
inventory id
:
Inventory Ids for Source
library-add
:
Revision Library Basics
library-archives
:
Revision Library Basics
library-branches
:
Revision Library Basics
library-categories
:
Revision Library Basics
library-file
:
Revision Library Basics
library-find
:
Revision Library Basics
library-remove
:
Revision Library Basics
library-revisions
:
Revision Library Basics
library-versions
:
Revision Library Basics
log-for-merge
:
Elementary Branches -- Maintaining Private Changes
log-versions
:
Patch Logs and Project Tree History
log-versions
:
Starting a New Source Tree
logs
:
Patch Logs and Project Tree History
make-archive
:
Creating a New Archive
make-branch
:
Starting a New Project
make-category
:
Starting a New Project
make-log-file
:
Importing the First Revision
make-version
:
Starting a New Project
merging
:
Elementary Branches -- Maintaining Private Changes
meta-projects
:
Multi-tree Projects and Configuration Management
mirror
:
Shared and Public Archives
missing
:
The update/commit Style of Cooperation
mkpatch
:
mkpatch
my-default-archive
:
Creating a New Archive
my-id
:
Introducing Yourself to arch
my-revision-library
:
Revision Library Basics
naming conventions
:
Project Tree Inventories
patch log
:
Patch Logs and Project Tree History
patch log
:
Importing the First Revision
patch logs
:
Patch Logs and Project Tree History
patching (inexact)
:
Inexact Patching -- How Conflicts are Handled
project tree
:
Starting a New Source Tree
remove-log-version
:
Starting a New Source Tree
replaying specific revisions
:
Cherrypicking Changes
revision
:
Importing the First Revision
revision library
:
Revision Library Basics
revisions
:
Importing the First Revision
set-tree-version
:
Starting a New Source Tree
show-changeset
:
Exploring Changesets
simple development branch
:
Development Branches -- The star-merge Style of Cooperation
Some Free Advice About Log
:
Checking-in Changes
tag
:
Elementary Branches -- Maintaining Private Changes
These
:
Importing the First Revision
touched-file-prereqs
:
Revision Library Basics
tree ancestor
:
Patch Logs and Project Tree History
tree ancestry
:
Patch Logs and Project Tree History
tree-lint
:
Inventory Ids for Source
tree-root
:
Starting a New Source Tree
tree-version
:
Starting a New Source Tree
trick
:
Development Branches -- The star-merge Style of Cooperation
versions
:
Starting a New Project
whereis-archive
:
Creating a New Archive
{arch}
:
Multi-tree Projects and Configuration Management
Short Contents
Top
1 Introducing arch
2 System Requirements
3 Getting Started
4 Working With Arch
5 Collaborating With Other People
6 Customizing Arch
Appendix A Advanced Topics
Appendix B The GNU General Public License
Indexes
Table of Contents
Top
1 Introducing arch
1.1 Who is this Manual For?
1.2 Where's the Reference Manual?
1.3 Another Source of Help – the Mailing List
1.4 What is Revision Control?
1.5 Why Use arch?
2 System Requirements
2.1 Tools Used to Build arch
2.2 Tools Used Internally by arch
3 Getting Started
3.1 arch Commands in General
3.2 Introducing Yourself to arch
3.2.1 How it Works – Your arch Id
3.3 Creating a New Archive
3.3.1 Choose a Location
3.3.2 Choose an Archive Name
3.3.3 Create the Archive
3.3.4 Make this Your Default Archive
3.3.5 How it Works – New Archives
3.4 Starting a New Project
3.4.1 Choose a Project Category
3.4.2 Choose a Project Branch
3.4.3 Choose a Version Number
3.4.4 Preparing the Archive
3.4.5 Why is it Like This
3.4.6 How it Works – Creating Categories, Branches, and Versions
3.5 Starting a New Source Tree
3.5.1 The Intial Source
3.5.2 Initializing a Project Tree
3.5.3 Initializing a Tree Does Not Change an Archive
3.5.4 What if You Make a Mistake With init-tree?
3.5.5 How it Works – Initializing a New Tree
3.6 Project Tree Inventories
3.6.1 The Name-based inventory Concept
3.6.2 The inventory Command
3.6.3 The arch Naming Conventions
3.6.4 Naming Conventions Illustrated
3.6.5 Customizing the Naming Conventions
3.6.6 Why is It Like This – inventory Naming Conventions
3.7 Inventory Ids for Source
3.7.1 Looks Like Source vs Really is Source
3.7.2 The add Command
3.7.3 Two Names for Every File
3.7.4 Quick Aside – Adding Directories
3.7.5 How it Works – tla add
3.7.6 Keeping Things Neat and Tidy
3.7.7 Inventory Ids – There's More Than One Way to Do It
3.7.8 Why is it Like This – The Purpose of Inventory Ids
3.7.9 Why is it Like This – Why tla move Doesn't Move Files
3.8 Importing the First Revision
3.8.1 Making the First Log File
3.8.2 Storing the First Revision in the Archive
3.8.3 Revision Names from import
3.8.4 How it Works – What import Does
4 Working With Arch
4.1 Checking-in Changes
4.1.1 warld != world\n
4.1.2 Some Free Advice About Log Messages
4.1.3 The Edit/Update-Log Cycle
4.1.4 Oh My Gosh – What Have I Done?
4.1.5 Storing Changes in the Archive
4.1.6 How it Works – commit of a New Revision
4.2 Retrieving Earlier Revisions
4.2.1 Checking Out the Latest Revision
4.2.2 Checking Out An Earlier Revision
4.2.3 How it Works – Retrieving Revisions With get
4.3 Selected Files Commit
4.3.1 The Quick Fix Problem
4.3.2 The Brute Force Solution to the Quick Fix Problem
4.3.3 Solving the Quick Fix Problem with commit –
4.3.4 The Quick Fix Problem – There's More Than One Way to Do It
4.4 Symbolic Tags
4.5 Multi-tree Projects and Configuration Management
5 Collaborating With Other People
5.1 The update/commit Style of Cooperation
5.1.1 Alice and Bob Hack main
5.1.2 Bob commits First
5.1.3 Alice Can Not commit Yet
5.1.4 Studying Why Alice Can Not commit
5.1.5 The update Command
5.1.6 How it Works – The update Command
5.2 Introducing replay – An Alternative to update
5.2.1 An update Refresher
5.2.2 The replay Command
5.2.3 How it Works – replay
5.3 Shared and Public Archives
5.3.1 Registering for Network Access to Archives
5.3.2 Working with Several Archives at Once
5.3.2.1 Selecting an Archive with -A
5.3.2.2 Fully Qualified Project Names
5.3.3 Read-only Archives
5.3.4 Creating Local Mirrors, Remote Mirrors, and Remote Archives
5.3.4.1 Mirroring a Remote Archive Locally
5.3.4.2 Mirroring a Local Archive Remotely
5.3.4.3 Making a Remote Repository
5.3.5 Mixing Access Modes
5.4 Elementary Branches – Maintaining Private Changes
5.4.1 A Branching Scenario – The Need for Private Changes
5.4.2 Making a Branch from a Remote Project in a Local Archive
5.4.3 What tag Just Did
5.4.4 Caching a tag Revision
5.4.5 Exploring the New Branch
5.4.6 Making a Local Change
5.4.7 Updating from a Branched-from Version
5.4.8 How It Works – tag and Elementary Branches
5.5 Development Branches – The star-merge Style of Cooperation
5.5.1 Promoting an Elementary Branch to a Development Branch
5.5.2 Simple Development Branches
5.5.3 Introducing The Development Branch Merging Problem
5.5.3.1 replay Does Not Solve the Development Branch Merge Problem
5.5.3.2 update Does Not Solve the Development Branch Merge Problem
5.5.4 Solving One Instance of the Development Branch Merging Problem
5.5.5 star-merge – Solving the Development Branch Merging Problem in General
5.6 Cherrypicking Changes
6 Customizing Arch
6.1 Customizing the inventory Naming Conventions
6.1.1 When to Customize Naming Conventions
6.1.2 How to Customize Naming Conventions
6.1.3 Per-Directory Regexps
6.2 Revision Library Basics
6.2.1 Your Revision Library Locations
6.2.2 Revision Library Format
6.2.3 Adding a Revision to the Library By Hand
6.2.4 Finding a Revision in the Library
6.2.5 Removing a Revision from the Library
6.2.6 Listing Library Contents
6.2.7 Individual Files in the Revision Library
6.2.8 Determining Patch Set Prerequisits
6.3 Advanced Revision Library Use
6.3.1 Greedy Revision Libraries
6.3.2 Sparse Revision Libraries
6.3.3 Hard Linked Project Trees
6.3.4 Putting it All Together
6.4 Driving Process Automation with arch Hooks
6.4.1 Arguments Given to hook
6.4.2 Environment Variables Passed to hook
6.4.3 An Example of Using hook
6.4.4 A more complex Examples of Using hook
6.4.5 Robustness Issues with hook
6.5 Speeding up arch by Caching Revisions in Archives
Appendix A Advanced Topics
A.1 Patch Logs and Project Tree History
A.1.1 Project Trees Have Patch Logs
A.1.2 How It Works – missing
A.1.3 The Concept of Change History and Tree Ancestry
A.1.3.1 Change History
A.1.4 Tree Ancestry
A.1.5 Automated ChangeLogs
A.2 Introducing Changesets
A.2.1 mkpatch
A.2.2 dopatch
A.2.3 Inexact Patching – How Conflicts are Handled
A.3 Exploring Changesets
A.3.1 How it Works – commit Stores a Changeset in the Archive
A.3.2 get-changeset Retrieves a Changeset from an Archive
A.3.3 Using show-changeset to Examine a Changeset
A.3.4 Using commit Well – The Idea of a Clean Changeset
A.4 The arch Changeset Format
Appendix B The GNU General Public License
Indexes