From: "Bert Wesarg" <bert.wesarg@googlemail.com>
To: "Jan Nieuwenhuizen" <janneke-list@xs4all.nl>
Cc: git <git@vger.kernel.org>, "Jan Holesovsky" <kendy@suse.cz>
Subject: Re: [TopGit PATCH] tg redepend: New command.
Date: Mon, 1 Sep 2008 12:36:47 +0200 [thread overview]
Message-ID: <36ca99e90809010336k2afd1253vfcdb754b6af97143@mail.gmail.com> (raw)
In-Reply-To: <1220263905.6278.13.camel@heerbeest>
[-- Attachment #1: Type: text/plain, Size: 1876 bytes --]
On Mon, Sep 1, 2008 at 12:11, Jan Nieuwenhuizen <janneke-list@xs4all.nl> wrote:
> On ma, 2008-09-01 at 11:31 +0200, Bert Wesarg wrote:
>
> Hi Bert,
>
>>
>> On Fri, Aug 15, 2008 at 15:53, Jan Nieuwenhuizen <janneke-list@xs4all.nl> wrote:
>> > As discussed previously
>> >
>> > http://kerneltrap.org/mailarchive/git/2008/8/13/2925144
>> >
>> > Change a topgit branch's dependencies by doing a rebase-by-merge.
>> >
>> >
>> is this script in use by you, or is it abandoned in favor of another idea?
>
> I haven't had the time to digest the several new takes on this, esp.
> http://kerneltrap.org/mailarchive/git/2008/8/15/2954214 and combining
> my previous attempt's use of git revert and git cherry-pick with git
> read-tree to make for a much faster adding or removal of
> dependencies.
>
>> Anyway, I have tried it today but it looks like the top-bases wasn't
>> updated to the new deps.
>
> How odd. It also looks like "redeps" contains the new set of
> dependencies, which is written to .topdeps. I guess that most of
> this script will be abandoned anyway, but a nice bug report ie: how to
> reproduce this error never hurts ;-)
Yeah, sorry, here comes part two:
I have tried to switch the order of two topics, which are the only two
in this 'series'. T1 depdens on master, and T2 on T1 with definitive
merge conflicts.
first step was to redepend T2 to master:
$ tg redepend master
after that, I saw the above odds, i.e.:
* the refs/top-bases/T2 points still to T1 not master
* (NEW) the .topmsg is lost (which I discovered after step two)
* a trailing empty line is in .topdeps
(NEW) step two was to redpend T1 on T2:
$ git checkout T2
$ tg redepend T2
after that, my T1 changes were lost, i.e. the worktree is in state of T2.
I have attached the log of this session (slightly edited).
Thanks anyway for working on this.
Regards
Bert
> Greetings,
> Jan.
[-- Attachment #2: tg-redpend-log --]
[-- Type: application/octet-stream, Size: 3218 bytes --]
T2@git $ tg redepend master
tg: New list of dependencies: master .
tg: Creating tg-redepend/tmp/T2.base_ base from master...
Switched to a new branch "tg-redepend/tmp/T2.base_"
tg: Topic branch tg-redepend/tmp/T2.base_ set up. Please fill .topmsg now and make initial commit.
tg: To abort: git rm -f .top* && git checkout master && tg delete tg-redepend/tmp/T2.base_
Created commit 1992ce5: tg redepend: add TopGit .top* info.
2 files changed, 7 insertions(+), 0 deletions(-)
create mode 100644 .topdeps
create mode 100644 .topmsg
Switched to a new branch "tg-redepend/tmp/T2_"
First, rewinding head to replay your work on top of it...
Applying: ALLOC_GROW
error: patch failed: .topmsg:1
error: .topmsg: patch does not apply
error: patch failed: builtin-for-each-ref.c:82
error: builtin-for-each-ref.c: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merged .topmsg
Auto-merged builtin-for-each-ref.c
CONFLICT (content): Merge conflict in builtin-for-each-ref.c
Failed to merge in the changes.
Patch failed at 0001.
When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".
tg: Please resolve conflicts and call: tg redepend
tg: It is also safe to abort this operation using:
tg: tg delete tg-redepend/tmp/T2.base_; git reset --hard some_branch
1992ce5...@git $ nc builtin-for-each-ref.c
1992ce5...@git $ git gui
4694b94...@git $ tg redepend
Applying: ALLOC_GROW
Note: moving to "8e8586c0fa4089499498aa1bb362900193c34902" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
HEAD is now at 8e8586c... ALLOC_GROW
Auto-merged .topdeps
Auto-merged .topmsg
Automatic merge went well; stopped before committing as requested
Switched to branch "T2"
Deleted branch tg-redepend/tmp/T2_.
tg: Rebased-using-merge onto new dependencies: master .
T1@git $ tg redepend T2
tg: New list of dependencies: T2 .
tg: Creating tg-redepend/tmp/T1.base_ base from T2...
Switched to a new branch "tg-redepend/tmp/T1.base_"
tg: Topic branch tg-redepend/tmp/T1.base_ set up. Please fill .topmsg now and make initial commit.
tg: To abort: git rm -f .top* && git checkout T2 && tg delete tg-redepend/tmp/T1.base_
Created commit b07e51b: tg redepend: add TopGit .top* info.
2 files changed, 2 insertions(+), 2 deletions(-)
Switched to a new branch "tg-redepend/tmp/T1_"
First, rewinding head to replay your work on top of it...
Fast-forwarded tg-redepend/tmp/T1_ to tg-redepend/tmp/T1.base_.
Note: moving to "46cda6dc9ed929f73725821fe98dbcceaa94e459" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b <new_branch_name>
HEAD is now at 46cda6d... doit
Automatic merge went well; stopped before committing as requested
Switched to branch "T1"
Deleted branch tg-redepend/tmp/T1_.
tg: Rebased-using-merge onto new dependencies: T2 .
prev parent reply other threads:[~2008-09-01 10:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-15 13:53 [TopGit PATCH] tg redepend: New command Jan Nieuwenhuizen
2008-08-15 17:16 ` Bert Wesarg
2008-08-15 18:20 ` Jonathan Nieder
2008-08-18 9:23 ` Jan Nieuwenhuizen
2008-09-01 9:31 ` Bert Wesarg
2008-09-01 10:11 ` Jan Nieuwenhuizen
2008-09-01 10:36 ` Bert Wesarg [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=36ca99e90809010336k2afd1253vfcdb754b6af97143@mail.gmail.com \
--to=bert.wesarg@googlemail.com \
--cc=git@vger.kernel.org \
--cc=janneke-list@xs4all.nl \
--cc=kendy@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).