Revision: arch--devo--1.0--patch-15
Archive: lord@regexps.com--2001Q4
Creator: Tom Lord <lord@regexps.com>
Date: Sat Jan  5 13:53:46 PST 2002
Standard-date: 2002-01-05
Summary: star-merge
Keywords: 
New-files: {arch}/arch/arch--devo/arch--devo--1.0/lord@regexps.com--2001Q4/patch-log/patch-15
  manual/star-merge.doc branching-and-merging/star-merge.sh
  remote/with-archive-settings.sh
  naming-conventions/patch-level-lt.sh
  branching-and-merging/delta-patch.sh
  branching-and-merging/=lemmas branching-and-merging/=merges
Modified-files: =TODO ChangeLog branching-and-merging/Help.list.in
  branching-and-merging/update.sh manual/arch.doc
  manual/basic-branching-and-merging.doc
  manual/reconciling.doc project-tree/tree-root.sh
New-patches: lord@regexps.com--2001Q4/arch--devo--1.0--patch-15

This is the initial commit of (untested) `star-merge'.

`star-merge' merges two branches which are ancestors of a project tree
with the local changes in that tree.  It handles the (surprisingly)
tricky case of two branches that merge with one-another repeatedly, as
with a `trunk' and surrounding development or patch-review branches
arranged in a star topology.

In the `branching-and-merging' directory, `=merges' with `=lemmas'
cryptically summarizes the math behind `star-merge'.

In `tree-root --accurate', a subdirctory '{arch}/++resolve-conflicts'
indicates a mid-merge working directory.  The file `cmd' explains how to 
finish the merge operation.

The command `with-archive-settings' prints a script that restores the
environment variable settings of a `with-archive' session (useful for
having more than one session active at a time).

The command `arch patch-lvl-lt' compares patch level names for ordering.

The command `arch delta-patch' computes a patch between an arbitrary
choice of revisions or trees and applies the patch to a revision or
tree.  It does not, yet, do the optimization(?) of generating a patch
between ancestor and descendent revisions by combining existing patch
sets.  (There is a `patchutils' distribution from someone at RH that
might be helpful here, though at the moment it is gratuitously
GNU-specific.)

In `update' a trivial fix: don't call `bail' before it is defined.

