yichenruolan / gource

Automatically exported from code.google.com/p/gource
0 stars 0 forks source link

Commits shown out of order, top date advances too quickly when displaying branching development #9

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. View a git log with entries out of date order (happens wherever
branching is used - extensively in our case).

What is the expected output? What do you see instead?

The date at the top of the screen does not match the date shown in the
bottom slider. The date in the bottom slider appears to follow the commit
sequence, jumping forward and backwards in time, whereas the top date
always increases. On our project the top date advanced at about double
time, ending with a date more than a year in the future.

What version of the product are you using? On what operating system?

OS: Debian Lenny
gource: 0.14 (from deb)
git-core: 1:1.6.3.1-1

Please provide any additional information below.

Could git log --date-order be used to ensure commits are chronologically
ordered and fix this?

Original issue reported on code.google.com by interfe...@gmail.com on 2 Oct 2009 at 1:24

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hi. I thought I'd fixed this by using commit date. I guess not.

--date-order didn't appear to fix this testing against the Linux kernel.

Using this command line to test it:

cat logfile.txt | perl -lne 'chomp; next unless /^\d+$/; print "$_ < $last :
".($last-$_) if $_ lt $last;'

I'm not sure git-log actually has a mode which will sort by the commit timestamp
disregarding all other factors.

Other than a better log command the only ways I see around this are:
- pre sort the log file using a script before giving it to Gource (fairly 
trivial)
- Gource could have a --sort option which has to read and sort the entire log 
before
playing it, which might add a lot of start up time in some cases.

Original comment by acaudw...@gmail.com on 2 Oct 2009 at 2:28

GoogleCodeExporter commented 9 years ago
Or, Gource could just adjust the top date if the encountered commit date is 
less than
the previous commit date.

Original comment by acaudw...@gmail.com on 2 Oct 2009 at 3:40

GoogleCodeExporter commented 9 years ago
I'm getting a similar issue, or maybe even the same one, in a repository that 
has no
branches or (as far as I can see) commits that are not in date order. I have a 
hunch
that the date displayed at the top is somehow losing track when the playback 
speed is
changed using the -/+ keys.

For example, I played back a repo that runs from 2004 to the present day, with
playback sped up quite a bit. It wasn't long before the date at the top had 
gone to
2012 and beyond, while what was actually showing on screen looked more like 
activity
from 2005.

Original comment by ciaran.g...@gmail.com on 2 Oct 2009 at 1:54

GoogleCodeExporter commented 9 years ago
Yeah that is a slightly different issue.

Gource does get behind the action if you use a large time increment and busy 
users. I
have added a --max-commit-lag SECONDS option in the development version which 
causes
changes to appear regardless of where the user is if they're more than SECONDS 
old.

I might also cap the time increment at 1 month per second and make + / - 
changed the
increment by 1 day so it's not you encounter without going out of your way to 
make it
happen.

Original comment by acaudw...@gmail.com on 3 Oct 2009 at 12:17

GoogleCodeExporter commented 9 years ago
This is now fixed in 0.15.

Gource will stay in sync with the order the log file is in rather than running 
off
into the future.

Original comment by acaudw...@gmail.com on 21 Oct 2009 at 4:24