Go to file
Junio C Hamano e97499e1d3 Add Meta/Reintegrate
In a workflow that uses topic branches heavily, you would need to keep
updating test integration branch(es) all the time.  If they are managed
like my 'next' by merging the tips of topics that have grown since the
last integration, it is not so difficult.  You only need to review output
from "git branch --no-merged next" to see if there are topics that can and
needs to be merged to 'next'.

But sometimes it is easier to rebuild a test integration branch from
scratch all the time, especially if you do not publish it for others to
build on.

I've been using this script for some time to rebuild jch and pu branches
in my workflow.  jch's tip is supposed to always match 'next', but it is
rebuilt from scratch on top of 'master' by merging the same topics that
are in 'next'.  You can use the same script in your work.

To use it, you give a commit range base..tip to the script, and you will
see a shell script that uses a series of 'git-merge'.  "base" is the more
stable branch that you rebuild your test integration branch on top (in my
case, 'master'), and "tip" is where the tip of the test integration branch
is from the last round (in my case, 'jch' or 'pu').

Then you can run the resulting script, fix conflicted merge and use
'git-commit', and then repeat until all the branches are re-integrated on
top of the base branch.

    $ Meta/Reintegrate master..jch >/var/tmp/redo-jch.sh
    $ cat /var/tmp/redo-jch.sh
    #!/bin/sh
    while read branch eh
    do
	    case "$eh" in
	    "") git merge "$branch" || break ;;
	    ?*) echo >&2 "Eh? $branch $eh"; break ;;
	    esac
    done <<EOF
    jc/blame
    js/notes
    ks/maint-mailinfo-folded~3
    tr/previous-branch
    EOF
    $ git checkout jch
    $ git reset --hard master
    $ /var/tmp/redo-jch.sh
    ... if there is conflict, resolve, "git commit" here ...
    $ /var/tmp/redo-jch.sh
    ... repeat until everything is applied.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-26 00:48:50 -08:00
info Add Meta information. 2005-11-05 10:58:46 -08:00
whats What's in/cooking updates 2009-01-24 20:37:50 -08:00
.gitignore AT: automated test loop 2008-04-08 22:21:12 -07:00
AT AT: automated test loop 2008-04-08 22:21:12 -07:00
Announce Announce: RPM builders are now running FC9 2008-07-05 22:07:33 -07:00
Checklist.txt Release checklist 2007-07-01 22:16:28 -07:00
ClonePlus.txt Update TOpic script to show how old they are. 2006-02-16 01:32:23 -08:00
DoKernelOrg Pass ASCIIDOC8=YesPlease to Meta/Make and dodoc.sh as needed 2008-09-18 19:35:09 -07:00
Doit Doit: add -noinstall 2009-01-23 10:50:03 -08:00
Gitweb Gitweb: remove blame.js -- that's long gone. 2008-04-08 22:08:01 -07:00
KO Move ko-master, sa/master and friends out of tags 2007-05-23 00:01:50 -07:00
MaintNotes Post 1.6.1 updates 2008-12-24 22:39:40 -08:00
Make Make: threaded-delta-search should be safe by now 2009-01-23 10:40:07 -08:00
PU Rewrite 'git-foo' => 'git foo' 2007-12-14 22:43:05 -08:00
Porcelainistas Add Aneesh Kumar's repo browser to Porcelainistas. 2006-01-27 00:22:40 -08:00
RB Rewrite 'git-foo' => 'git foo' 2007-12-14 22:43:05 -08:00
RP Rewrite 'git-foo' => 'git foo' 2007-12-14 22:43:05 -08:00
RR.perl resolve cache experiments. 2006-01-27 22:45:08 -08:00
Reintegrate Add Meta/Reintegrate 2009-01-26 00:48:50 -08:00
ResettingPaths.txt Update TOpic script to show how old they are. 2006-02-16 01:32:23 -08:00
SA Move ko-master, sa/master and friends out of tags 2007-05-23 00:01:50 -07:00
SE SE: no suppress-cc; use configuration 2009-01-23 10:39:44 -08:00
Summary Summary: use reflog 2009-01-23 10:50:03 -08:00
TODO TODO: purge old items 2008-11-05 17:02:48 -08:00
UWC WIP: slight updates to What's cooking script 2008-11-05 17:03:43 -08:00
V V: pay attention to dirty versions 2009-01-23 10:41:41 -08:00
WC What's in/cooking updates 2008-12-02 22:55:44 -08:00
WI What's in/cooking updates 2008-12-02 22:55:44 -08:00
check-topic-merges A bit more commenting and cleaning up. 2006-05-09 13:01:11 -07:00
docbuild-8.sh Meta/docbuild-8: make it easier to compare AsciiDoc 7 and 8 output 2007-07-24 21:33:17 -07:00
dodoc.sh Pass ASCIIDOC8=YesPlease to Meta/Make and dodoc.sh as needed 2008-09-18 19:35:09 -07:00
genMaintNotes.perl Replace logo in maintnotes html version 2008-11-05 17:04:17 -08:00
git-topic.perl topic: optionally add test markers. 2008-04-08 22:20:19 -07:00
gitweb_config.perl Gitweb: use gitweb_config.perl 2006-10-05 22:00:50 -07:00
index.aux sample index.aux 2007-06-13 01:25:21 -07:00
jc.png Snapshot 2006-05-04 2006-05-04 16:01:16 -07:00
taboo.perl taboo: taboo script update 2008-07-05 22:10:40 -07:00