From: Artur Skawina <art.08.09@gmail.com>
To: Seth Robertson <in-gitvger@baka.org>
Cc: Stefan Haller <lists@haller-berlin.de>, git@vger.kernel.org
Subject: Re: ANNOUNCE git-what-branch (was Re: Find out on which branch a commit was originally made)
Date: Wed, 22 Sep 2010 22:27:27 +0200 [thread overview]
Message-ID: <4C9A66AF.5000302@gmail.com> (raw)
In-Reply-To: <201009221635.o8MGZnLD024629@no.baka.org>
On 09/22/10 18:35, Seth Robertson wrote:
> looking at just one branch, it is looking at 150+ branches. If you
> use --reference-branch to specify the one branch you are looking at,
> it takes a much more reasonable 15-20 seconds. Likewise if you select
This started in a thread about locating dead topic branches, but what
you want is something slightly different, hence the confusion.
AFAIUI it now, your case is basically this: you have several
independently developed topic (or side-) branches, which are
periodically merged into a master branch, the side branches
themselves are also merging 'master' to receive changes happening
elsewhere. So the graph could look like this:
m-> m -> m -> m -> m -> m -> m -> master
\ \ / /
b -> b -> b -> b -> b -> b -> side-branch#1
Ditto for the other n side-branches.
What you're asking for is: given commit C and a list of several side
branches, tell me where (ie on which branch) this commit originated.
Two things make the above trivial history a bit more complicated.
A) one side-branch can merge another, and build on top of changes that
are not yet available on 'master'; the result can then appear in master
via either one or both paths. This is why showing when and how a change
became visible on every side branch can be interesting.
B) when a side branch does not contain any new changes, but is made uptodate
wrt master, the resulting history could end up like this:
m-> m -> m -> m -> m -> m -> m -> master
\ / \ /
b -> b -> b c -> c -> side-branch#1
What happened was -- git "optimized" the simple merge away, turning it
into a fast-forward, saving one merge commit, but loosing the link
connecting the 'c' and 'b' parts of 'side-branch#1'.
Do you (anybody) happen to know a public repo, w/ history as above, ie
w/ more then one long-lived branch that has seen some fast-forwards?
I wonder how reliable recovering the missing link would be...
And there's no reason why this operation should take ~20 minutes, even
for the randomly chosen, but real, worst case. But finding a good repo
to test w/ would take longer than writing the code...
artur
next prev parent reply other threads:[~2010-09-22 20:27 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-18 9:19 Find out on which branch a commit was originally made Stefan Haller
2010-09-18 9:58 ` Ævar Arnfjörð Bjarmason
2010-09-18 10:02 ` Ævar Arnfjörð Bjarmason
2010-09-18 11:28 ` Tor Arntsen
2010-09-18 15:26 ` Stefan Haller
2010-09-18 16:41 ` Artur Skawina
2010-09-19 9:45 ` Stefan Haller
2010-09-19 12:54 ` Clemens Buchacher
2010-09-19 14:03 ` Artur Skawina
2010-09-19 14:08 ` Stefan Haller
2010-09-19 16:38 ` Artur Skawina
2010-09-19 18:30 ` Robin Rosenberg
2010-09-19 22:03 ` Seth Robertson
2010-09-19 23:12 ` Artur Skawina
2010-09-19 23:54 ` Seth Robertson
2010-09-20 1:31 ` Artur Skawina
2010-09-20 5:47 ` Seth Robertson
2010-09-20 8:12 ` Stefan Haller
2010-09-20 10:58 ` Artur Skawina
2010-09-20 15:49 ` Artur Skawina
2010-09-21 0:15 ` Seth Robertson
2010-09-21 2:12 ` Artur Skawina
2010-09-22 16:35 ` ANNOUNCE git-what-branch (was Re: Find out on which branch a commit was originally made) Seth Robertson
2010-09-22 20:27 ` Artur Skawina [this message]
2010-09-22 23:26 ` Find out on which branch a commit was originally made) (was ANNOUNCE git-what-branch) Seth Robertson
2010-09-23 13:14 ` Stephen Bash
2010-09-23 13:26 ` Ævar Arnfjörð Bjarmason
2010-09-23 21:32 ` Artur Skawina
2010-09-24 1:33 ` Artur Skawina
2010-09-24 20:57 ` Seth Robertson
2010-09-23 14:27 ` Seth Robertson
2010-09-20 18:20 ` Find out on which branch a commit was originally made Stefan Haller
2010-09-24 18:26 ` Bryan Drewery
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=4C9A66AF.5000302@gmail.com \
--to=art.08.09@gmail.com \
--cc=git@vger.kernel.org \
--cc=in-gitvger@baka.org \
--cc=lists@haller-berlin.de \
/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).