[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnu-arch-users] [BUG] feature plan -- Auto branching
From: |
Tom Lord |
Subject: |
[Gnu-arch-users] [BUG] feature plan -- Auto branching |
Date: |
Mon, 24 May 2004 16:55:06 -0700 (PDT) |
To make branching and merging in some common patterns easier:
% tla fork [--topic "topic string"] TO
Roughly equivalent to
% from_version=`tla tree-version`
% tla tag --set-up `tla tree-revision` TO
% tla join-branch TO
% tla set-tree-version TO
however:
1) TO must not already exist.
2) The log message for base-0 of TO will
set some version variables:
set-in-version: arch-branch-topic "topic string"
set-in-version: arch-upstream "$from_version"
For example, here is how you might get ready to help fix a bug in tla,
assuming you have already set up an archive:
% address@hidden
% tla get $LORD/dists--devo--1.0 wd
% cd wd
% tla build-config $LORD/emf.net/devo
% cd src/tla
% tla fork --topic "work on bug235" bug235
which will create a tla--devo:bug235--1.3 branch in your archive and switch
your project tree to that branch.
Note that you can fork recursively. That's even handy here.
Let's suppose, for example, that you like to commit very frequently --
more like a transcript of your hour-to-hour work than anything. Yet
you don't want such a confusing list of revisions when you submit a
merge request for your bug-fix. So, sub-branch:
% tla fork transcript
which now creates the branch:
tla--devo:bug235:transcript--1.3
and sets your tree-version to that.
After you work on the transcrpt branch for a while and are ready to
summarize the result for publication, you can use the next new
command:
% tla upstream-commit [--stay]
Roughly equivalent to:
% here=`tla tree-version`
% upstream=`tla version-var arch-upstream`
% tla commit
% tla set-tree-version $upstream
% tla commit
[ if --stay: % tla set-tree-version $here ]
Now you can send a merge request to merge everything in your
tla--devo:bug235 branch.
% tla switch-branch [--no-sync] sub-branch
Equivalent to:
% mainline=`tla version-var arch-upstream`
% CATEGORY=`tla parse-package-name --category $mainline`
...
% tla set-tree-version $CATEGORY--$BRANCH:$sub-branch--$VERSION
[unless --no-sync is specified: % tla sync-tree]
-t
----
Like my work on GNU arch, Pika Scheme, and other technical contributions
to the public sphere? Show your support!
https://www.paypal.com/xclick/business=lord%40emf.net&item_name=support+for+arch+and+other+free+software+efforts+by+tom+lord&no_note=1&tax=0¤cy_code=USD
and
address@hidden for www.moneybookers.com payments.
-----
The cause of death is birth.
-- George Harrison
- [Gnu-arch-users] [BUG] feature plan -- Auto branching,
Tom Lord <=