threads / discuss / 37353

Re: Problem with Git rev-list output

Subject: Re: Problem with Git rev-list output

## tl;dr

One message between Aug 15, 2014 and Aug 15, 2014.

replies: 0people: 1as markdown or json

Harlan, Peter· Aug 15, 2014, 07:26 UTC · lore
On 2014-08-12 01:10:28 Andrew Crabtree wrote:
> I'm seeing some oddity in one of my repositories where the root commit is being output in 'rev-list' even
> when I pass in a reference that should exclude it from being output.
...
> Seeing the issue with versions of git from 1.7 to 2.1.
I have a small test repo on GitHub that demonstrates the problem.  I expect it is caused by the commit dates being out of sequence:
1. Clone the "revlist" repo:

# git clone https://github.com/pcharlan/revlist.git Cloning into 'revlist'...

2. master has six commits (with out-of-order dates):

# git log --pretty='%h %cd' master 0f9e594 Sun May 20 01:01:01 2007 -0700 1ad887b Sun May 20 01:01:01 2007 -0700 cde7188 Sun May 20 01:01:01 2007 -0700 51af1c0 Sun May 20 01:01:01 2007 -0700 <-- date seven years ago 0e080e8 Tue Aug 12 11:51:19 2014 -0700 <-- present day 77ce973 Fri May 20 01:01:01 2011 -0700 <-- three years ago

3. Pruning master with origin/other (a branch with the same root and also out-of-order dates) has no effect, counter to expectation:

# git log --pretty='%h %cd' master ^origin/other 0f9e594 Sun May 20 01:01:01 2007 -0700 1ad887b Sun May 20 01:01:01 2007 -0700 cde7188 Sun May 20 01:01:01 2007 -0700 51af1c0 Sun May 20 01:01:01 2007 -0700 0e080e8 Tue Aug 12 11:51:19 2014 -0700 77ce973 Fri May 20 01:01:01 2011 -0700 <--- Reachable from origin/other

4. Pruning master with the parent of origin/other removes the root commit:

# git log --pretty='%h %cd' master ^origin/other~ 0f9e594 Sun May 20 01:01:01 2007 -0700 1ad887b Sun May 20 01:01:01 2007 -0700 cde7188 Sun May 20 01:01:01 2007 -0700 51af1c0 Sun May 20 01:01:01 2007 -0700 0e080e8 Tue Aug 12 11:51:19 2014 -0700

Q: Is this expected behavior?  If so, and assuming that it's the dates that are throwing Git off, is there a way to tell Git to not care about the dates, or to care less than it does?
Thanks,
--Pete

Peter Harlan HP Networking

← back to recent threads