From: Jan Nieuwenhuizen <janneke-list@xs4all.nl>
To: Jonathan Nieder <jrnieder@uchicago.edu>
Cc: git <git@vger.kernel.org>, Jan Holesovsky <kendy@suse.cz>
Subject: Re: [TopGit PATCH] tg-create.sh: Introduce --add option to add a dependency.
Date: Mon, 18 Aug 2008 11:18:23 +0200 [thread overview]
Message-ID: <1219051103.8816.29.camel@heerbeest> (raw)
In-Reply-To: <Pine.GSO.4.62.0808150913180.9955@harper.uchicago.edu>
On vr, 2008-08-15 at 10:25 -0500, Jonathan Nieder wrote:
Hi,
> 1) How should the tree of B' be determined?
> 2) What should the parents of B' be?
> 3) How should the tree of P' be determined from P, B, and B'?
> 4) What should the parents of P' be?
> So all this trouble is there when we try to come up with the topic
> base
> for a new topic, as long as it is possible /in some way/ to weaken
> dependencies.
Which I have just been avoiding... Thanks, that clarifies things for
me.
> or, if we make B a parent of B',
>
> $ git checkout P
> $ git merge B'
>
> which might be preferrable.
> I tried this out, and it seems here I was worrying needlessly.
Ok, good to know.
> > Ouch, I'm feeling so git-unitiated here; what is read-tree doing
> > differently from merge? Isn't here a -m missing?
>
> Why? We want to just blindly take the tree from P' and using it. The
> point is to make setting the contents of the new branch tip and its
> parentage separate decisions.
Hmm, for one, "git read-tree -u SHA" does not work for me.
> > Removing or [re-]adding one dependency using this rebase-by-merging
> > approch would take ~7 minutes on my machine.
>
> Can you be more precise here? What user action causes topgit to do
> so much work (adding one dependency to what topic)? What other
> approach avoids all this work?
Good question, I was thinking a bit careless here. Creating the master
topgit branch, which depends on ~300 single-topic topgit branches, like
so
tg create t/master $(git branch | grep -vE '/|patched|pristine')
takes ~7 minutes; which does not really surprise me.
I realise now that if we make a strict *adding* of dependencies a
special case, we can just checkout our old B, and add (merge) the
additional dependencies on top of that.
However, when *removing* a dependency, I see no easy way to do that cheaply.
Greetings,
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien | http://www.lilypond.org
prev parent reply other threads:[~2008-08-18 11:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-13 14:25 [TopGit PATCH] tg-create.sh: Introduce --add option to add a dependency Jan Nieuwenhuizen
2008-08-13 16:20 ` Jonathan Nieder
2008-08-15 8:10 ` Jan Nieuwenhuizen
2008-08-15 15:25 ` Jonathan Nieder
2008-08-18 9:18 ` Jan Nieuwenhuizen [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=1219051103.8816.29.camel@heerbeest \
--to=janneke-list@xs4all.nl \
--cc=git@vger.kernel.org \
--cc=jrnieder@uchicago.edu \
--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