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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.