[racket-dev] Git

From: Eli Barzilay (eli at barzilay.org)
Date: Fri Jan 7 15:55:50 EST 2011

(Ping for Mike)

Yesterday, Robby Findler wrote:
> that is off on its own side path. Ie my graph looks like this:
> 
>    o  improve canvas drawing docs
>    |
>    o  Merge remote branch origin (committer Sperber)
>   /|
>  / |
> |  o
> |  |
> |  73 commits (why 73?!)
> |  |
> |  o like f57b431c2e6466c (missed other case)
> *  |
>  \ |
>   \|
>    o New Racket version 5.0.99.6
> 
> where the * is the commit mentioned above.

What you see here is the result of Mike pushing a commit without
rebasing it, getting a merge instead.  Specifically, it looks like
Mike had his repo at the 5.0.99.6 commit, he then commited something,
merged (not rebased) which added the 73 commits and created a merge
commit that ties the knot at the top.

What gitk etc are doing is some kind of a sort that is supposed to
make things look better, but IME, this can be confusing (perhaps since
I'm usually aware of the timeline).  You can use a `-d' argument to
gitk to make it sort things by date, which will show things in the
order they were made.  You can also use the log command -- compare the
output of these two things side-by-side:

  git log --pretty=oneline --graph
  git log --pretty=oneline --graph --date-order

(Mike: it would really be better to rebase, and avoid such unnecessary
confusions.)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!


Posted on the dev mailing list.