[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnu-arch-users] [MERGE REQUEST] --base parameter for commit

From: abentley
Subject: [Gnu-arch-users] [MERGE REQUEST] --base parameter for commit
Date: Thu, 30 Sep 2004 21:23:50 -0400

Base-Revision: address@hidden/tla--devo--1.2--patch-32
Revision: address@hidden/tlasrc--commit-base--2--base-0
Bug: 137

This implements commit --base, as described by Tom Lord.  The --base option
allows the user to specify the ancestor of the revision being committed.
This creates a continuation revision whose changeset represents the difference
between the specified ancestor and the project tree.  It's essentially a way to
archive a delta from any arbitrary revision.

To revision-building mechanisms, these revisions are indistinguishable from 
those produced by tag, and equally supported.  The difference is quantitative,
not qualitative.

-S is not implemented.  The full list of commands required to begin a revision
using a commit --base is (off the top of my head):

tla set-tree-version $VERSION
# optional, but don't do before set-tree-version
$EDITOR `tla make-log`
tla add-log-version $VERSION
tla archive-setup $VERSION
tla commit --base $ANCESTOR
# optional 
tla cacherev $VERSION--base-0

This is rather more than -S does for tag.

Test cases are included.

 commands/cmd-commit.c  |   35 +++++++++++---
 libarch/cmdutils.c     |   17 +++++++
 libarch/cmdutils.h     |    1
 libarch/commit.c       |  115 
+++++++++++++++++++++++++++++++++++++++---------- libarch/commit.h       |    2
 libarch/merge-points.c |   15 ++++++
 libarch/merge-points.h |    5 ++
 libarch/tag.c          |    9 ---
 tests/      |    1
 9 files changed, 163 insertions(+), 37 deletions(-)

Updated commit --base support to latest jblack tree
Patches applied: 

 * address@hidden/tlasrc--commit-base--1--base-0
   tag of address@hidden/tla--devo--1.2--patch-21

 * address@hidden/tlasrc--commit-base--1--patch-1
   Merge (Aaron Bentley, tlasrc--devel--0)

 * address@hidden/tlasrc--commit-base--1--patch-2
   Got commit --base and tag to commit the same new-patches list

 * address@hidden/tlasrc--commit-base--1--patch-3
   Cleanups for commit --base (tlasrc--devel--0)

 * address@hidden/tlasrc--commit-base--1--patch-4
   Got commit --base working when creating a base-0,
        and fixes (tlasrc--devel--0)

 * address@hidden/tlasrc--commit-base--1--patch-5
   Fixed non-base commits so as not to segfault (tlasrc--devel--0)

 * address@hidden/tlasrc--commit-base--1--patch-6
   Changed calls to match current code

 * address@hidden/tlasrc--commit-base--1--patch-7
   Fixed the commit --base patchlogs (tlasrc--devel--0.2)

 * address@hidden/tlasrc--commit-base--1--patch-8
   Added test cases

 * address@hidden/tlasrc--devel--0--patch-21
   Preliminary commit --base support

 * address@hidden/tlasrc--devel--0--patch-22
   Got commit --base working (but no extensive tests)

 * address@hidden/tlasrc--devel--0--patch-23
   Got commit --base and tag to commit the same new-patches list

 * address@hidden/tlasrc--devel--0--patch-24
   Cleanups for commit --base

 * address@hidden/tlasrc--devel--0--patch-29
   Got commit --base working when creating a base-0, and fixes

 * address@hidden/tlasrc--devel--0--patch-30
   Fixed non-base commits so as not to segfault

 * address@hidden/tlasrc--devel--0.2--patch-3
   Fixed the commit --base patchlogs

reply via email to

[Prev in Thread] Current Thread [Next in Thread]