threads / discuss / 9250

gitk screenshots of complex history

Subject: gitk screenshots of complex history

## tl;dr

5 messages between Jul 27, 2007 and Jul 27, 2007.

replies: 4people: 4as markdown or json

Shawn O. Pearce· Jul 27, 2007, 04:13 UTC · lore

I've mentioned both on list and on #git that one of my production repositories has a few weird points in time. Some folks have asked to see at least screenshots of the line part of the gitk output, as apparently they've never seen ugly history in Git. Lucky them.

The images are rather large so I have posted them on my website with a bit longer explanation of each:

  http://www.spearce.org/2007/07/difficult-gitk-graphs.html

I just compared my own history to Linus' linux-2.6 history. The kernel team can't hold a candle to this mess. Remember, this is *with* me involved in the project on a daily basis. Me. Someone who knows Git fairly well...

OK, no more screenshots from *that* repository! I don't ever want to run `gitk --all` there again. Ever.

PS: The really interesting data (subject lines, authors, dates)
has all been redacted from the images.  I can't publish that stuff.
-- 
Shawn.
Linus Torvalds· Jul 27, 2007, 05:20 UTC · re: Shawn O. Pearce · lore

Re: gitk screenshots of complex history

On Fri, 27 Jul 2007, Shawn O. Pearce wrote:
> 
> I just compared my own history to Linus' linux-2.6 history.
> The kernel team can't hold a candle to this mess.

Rather on purpose, I might add. I've actually been fairly anal about having people maintain clean histories, to the point where I refuse to pull from trees that don't do a good enough job.

			Linus
Shawn O. Pearce· Jul 27, 2007, 05:29 UTC · re: Linus Torvalds · lore

Re: gitk screenshots of complex history

Linus Torvalds <torvalds@linux-foundation.org> wrote:
Show 8 quoted lines
> On Fri, 27 Jul 2007, Shawn O. Pearce wrote:
> > 
> > I just compared my own history to Linus' linux-2.6 history.
> > The kernel team can't hold a candle to this mess.
> 
> Rather on purpose, I might add. I've actually been fairly anal about 
> having people maintain clean histories, to the point where I refuse to 
> pull from trees that don't do a good enough job.

For 4 of our internal repositories I've taken that policy up now myself, and nobody is allowed to create releases from them except me. This has helped. A lot. So does sensible use of `git rebase -i`. You and Junio have really sold me on the value of having someone play a very strict gatekeeper role. I get better work product from my coworkers this way too. They know someone else is looking at what they are doing and try harder.

But it doesn't help the really old history, nor does it help the repository these images came from. I don't own/control that development. I just provide git help as much as I can.

-- 
Shawn.
David Kastrup· Jul 27, 2007, 05:49 UTC · re: Shawn O. Pearce · lore

Re: gitk screenshots of complex history

"Shawn O. Pearce" <spearce@spearce.org> writes:
Show 21 quoted lines
> Linus Torvalds <torvalds@linux-foundation.org> wrote:
>> On Fri, 27 Jul 2007, Shawn O. Pearce wrote:
>> > 
>> > I just compared my own history to Linus' linux-2.6 history.
>> > The kernel team can't hold a candle to this mess.
>> 
>> Rather on purpose, I might add. I've actually been fairly anal about 
>> having people maintain clean histories, to the point where I refuse to 
>> pull from trees that don't do a good enough job.
>
> For 4 of our internal repositories I've taken that policy up now
> myself, and nobody is allowed to create releases from them except me.
> This has helped.  A lot.  So does sensible use of `git rebase -i`.
> You and Junio have really sold me on the value of having someone
> play a very strict gatekeeper role.  I get better work product from
> my coworkers this way too.  They know someone else is looking at
> what they are doing and try harder.
>
> But it doesn't help the really old history, nor does it help
> the repository these images came from.  I don't own/control that
> development.  I just provide git help as much as I can.

One idea I have not yet put into any code is using graphviz for creating a nice (possibly clickable) layout of a commit history. It might be able to rearrange things such that the long parallel lines get avoided. Could be an interesting feature for the HTML visualizers.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Brian Downing· Jul 27, 2007, 13:52 UTC · re: Shawn O. Pearce · lore

Re: gitk screenshots of complex history

On Fri, Jul 27, 2007 at 12:13:01AM -0400, Shawn O. Pearce wrote:
Show 9 quoted lines
> I've mentioned both on list and on #git that one of my production
> repositories has a few weird points in time.  Some folks have asked
> to see at least screenshots of the line part of the gitk output,
> as apparently they've never seen ugly history in Git.  Lucky them.
> 
> The images are rather large so I have posted them on my website
> with a bit longer explanation of each:
> 
>   http://www.spearce.org/2007/07/difficult-gitk-graphs.html
> OK, no more screenshots from *that* repository!  I don't ever want
> to run `gitk --all` there again.  Ever.

Were those graphs generated with --topo-order (the default) or --date-order? I've found complex history usually looks a lot more manageable with --date-order. Certainly the Git history is a LOT less wide with --all --date-order than --all.

Does this help your situation as well?
-bcd

← back to recent threads