Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: Find the starting point of a local branch

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:35

Nguyen Thai Ngoc Duy [off-list ref] writes:
On Mon, Dec 24, 2012 at 12:34 PM, Tomas Carnecky
[off-list ref] wrote:
quoted
quoted
Maybe we should store this information. reflog is a perfect place for
this, I think. If this information is reliably available, git rebase
can be told to "rebase my whole branch" instead of my choosing the
base commit for it.
What's the starting point of the branch if I type: git branch foo <commit-ish>?
You start working off <commit-ish> so I think the starting point would
be <commit-ish>.
Yeah, that sounds sensible.  Don't we already have it in the reflog,
though?

What is trickier is when you later transplant it to some other base
(perhaps prepare a topic on 'master', realize it should better apply
to 'maint' and move it there).  If the user did the transplanting by
hand, reflog would probably not have enough information, e.g. after

    $ git checkout maint^0
    $ git log --oneline master..topic
    $ git cherry-pick $one_of_the_commit_names_you_see_in_the_above
    $ git cherry-pick $another_commit_name_you_see_in_the_above
      ...
    $ git branch -f topic

no reflog other than HEAD@{} will tell you that you were at maint^0,
so the reflog of topic wouldn't know it "forked" from there, either.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help