Tracking branch history

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



One feature that might make git more intuitive to people is if we were to 
additionally track the history of what commit was the head of each branch 
over time. This is only vaguely related to the history of the content, but 
it's well-defined and sometimes significant.

E.g., if you know that two weeks ago, what you had worked, but it doesn't 
work now, you can use git-bisect to figure out what happened, but first 
you have to figure out what commit it was that you were using two weeks 
ago. Two weeks ago, we had that information, but we didn't keep it.

It would probably also be useful for showing changelogs in a 
locally-useful order. If you merge in a tree that's been in separate 
development for a long time, the commits in that tree will be interleaved 
in commit date with the commits you did locally. You tend to want to 
attribute all of the changes that happened in the merge to the time of the 
merge, but that commit object isn't going to tell you anything useful, 
because it may have been done by the other tree (and you fast-forwarded to 
the merge). In fact, you may want to attribute the changes to the 
fast-forward, which can't recorded in the content history, because nothing 
happened to the content. On the other hand, if we were to also record the 
branch history, we could give output which shows changes in the order they 
reached the local tree (then ordered by the commit tree), just by having 
it do:

<time now>

git log <head-as-of-before>..<head-of-of-now>

<time before>

git log <head-as-of-before-that>..<head-as-of-before>

<time before-that>

and so forth.

	-Daniel
*This .sig left intentionally blank*
-
: 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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]