On Mon, Dec 24, 2012 at 12:28:45PM +0700, Nguyen Thai Ngoc Duy wrote: > > You want to know "what commit was I at when I typed `git branch > > mybranch`"? The problem is git doesn't record this information and > > doesn't have the slightest clue. > > 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. Is that what you really want, though? We record the "upstream" branch already, and you can calculate the merge base with that branch to see which commits are unique to your branch. In simple cases, that is the same as "where did I start the branch". In more complex cases, it may not be (e.g., if you merged some of the early commits in the branch already). But in that latter case, would you really want to rebase those commits that had been merged? The reason that git does not bother storing "where did I start this branch" is that it is usually not useful. The right question is usually "what is the merge base". There are exceptions, of course (e.g., if you are asking something like "what work did I do while checked out on the 'foo' branch"). But for merging and rebasing, I think the computed merge-base is much more likely to do what people want. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html