1. 23 11月, 2005 1 次提交
  2. 21 11月, 2005 1 次提交
  3. 20 11月, 2005 1 次提交
  4. 19 11月, 2005 4 次提交
  5. 15 11月, 2005 1 次提交
    • P
      Add -r flag and some speedups · 232475d3
      Paul Mackerras 提交于
      The -r flag means "rev-list order", i.e. just display the commits
      in the order they come from git-rev-list.
      
      The speedups include:
      - don't process the whole commit line-by-line, only the header
      - don't convert dates when reading the commits, rather do it when
        needed
      - don't do the $canv delete lines.$id in drawlines when drawing the
        graph initially (it was taking a lot of the total time)
      - cache the date conversion for each hour (more important with tk8.5,
        since [clock format] is a lot slower in 8.5 than in 8.4).
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      232475d3
  6. 27 10月, 2005 1 次提交
    • L
      [PATCH] Make "gitk" work better with dense revlists · 8b7e5d76
      Linus Torvalds 提交于
      To generate the diff for a commit, gitk used to do
      
      	git-diff-tree -p -C $p $id
      
      (and same thing to generate filenames, except using just "-r" there) which
      does actually generate the diff from the parent to the $id, exactly like
      it meant to do.
      
      However, that really sucks with --dense, where the "parent" information
      has all been rewritten to point to the previous commit. The diff actually
      works exactly right, but now it's the diff of the _whole_ sequence of
      commits all the way to the previous commit that last changed the file(s)
      that we are looking at.
      
      And that's really not what we want 99.9% of the time, even if it may be
      perfectly sensible. Not only will the diff not actually match the commit
      message, but it will usually be _huge_, and all of it will be totally
      uninteresting to us, since we were only interested in a particular set of
      files.
      
      It also doesn't match what we do when we write the patch to a file.
      
      So this makes gitk just show the diff of _that_ commit.
      
      We might even want to have some way to limit the diff to only the
      filenames we're interested in, but it's often nice to see what else
      changed at the same time, so that's secondary.
      
      The merge diff handling is left alone, although I think that should also
      be changed to only look at what that _particular_ merge did, not what it
      did when compared to the faked-out parents.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8b7e5d76
  7. 27 9月, 2005 1 次提交
  8. 26 9月, 2005 1 次提交
    • P
      Change wish8.4 back to wish · a6987531
      Paul Mackerras 提交于
      Checking in the change from wish to wish8.4 was a mistake; I had
      changed it for a test but forgot to change it back before checking
      in a patch.
      a6987531
  9. 22 9月, 2005 1 次提交
  10. 30 8月, 2005 1 次提交
  11. 19 8月, 2005 4 次提交
  12. 18 8月, 2005 2 次提交
    • P
      Use the --parents flag to git-rev-list. · e5ea701b
      Paul Mackerras 提交于
      With --parents, git-rev-list gives us the list of parents on the
      first line of each commit.  We use that rather than looking for
      the parent: lines in the commit body, since this way we get to
      know about the grafts for free.
      e5ea701b
    • P
      Allow graph lines to jump through hyperspace. · f6075eba
      Paul Mackerras 提交于
      When the graph gets too wide (as defined by the maxwidth variable,
      which can be set in ~/.gitk), we can now terminate graph lines with
      an arrow pointing downwards, and reintroduce them later with an
      arrow pointing upwards when we need them.  This makes the graph much
      less cluttered on large repositories such as the linux kernel.
      
      Unfortunately this has made it slower; it takes about 10 seconds
      user time on the linux-2.6 repository on my machine now, compared
      to 6 seconds before.  I'll have to work on optimizing that.  Also
      on the todo list are making the arrow heads active (so if you click
      on them you jump to the other end) and improving the placement of
      the null entry.
      f6075eba
  13. 17 8月, 2005 1 次提交
    • P
      Add graft support. · 244edd12
      Paul Mackerras 提交于
      We read .git/info/grafts and use the information in there to
      override the list of parents we get from git-rev-list or
      git-cat-file.
      244edd12
  14. 11 8月, 2005 1 次提交
    • P
      Refine the update heuristic to improve responsiveness a bit. · b664550c
      Paul Mackerras 提交于
      The previous commit improved performance a lot but also meant that
      we waited longer to see something drawn.  This refines the heuristics
      for when to call update so that (1) when we have finished processing
      a bufferfull of information from git-rev-list, we call update if
      enough time has elapsed, regardless of how many commits we've drawn,
      and (2) the number of commits drawn between updates scales with the
      total number of commits drawn: 1 for 1-99 commits, 10 for 100-9999
      commits, or 100 for >= 10000 commits.
      b664550c
  15. 10 8月, 2005 1 次提交
    • P
      Only do an update every 100 commits when drawing the graph. · 466e4fdd
      Paul Mackerras 提交于
      On a large repository with > 60,000 commits, each call to the Tk
      update primitive (which gives Tk a chance to respond to events and
      redraw the screen) was taking up to 0.2 seconds.  Because the logic
      was to call update after drawing a commit if 0.1 seconds had passed
      since the last update call, we were calling it for every commit,
      which was slowing us down enormously.  Now we also require that we
      have drawn 100 commits since the last update (as well as it being
      at least 0.1 seconds since the last update).  Drawing 100 commits
      takes around 0.1 - 0.2 seconds (even in this large repo) on my G5.
      466e4fdd
  16. 09 8月, 2005 1 次提交
  17. 08 8月, 2005 2 次提交
    • P
      Better graph line details display and expand history coverage. · fa4da7b3
      Paul Mackerras 提交于
      Now the history remembers when we have clicked on a graph line
      and when we have asked for a diff between two commits, as well
      as when we have displayed a commit.
      
      The display when you click on a graph line now uses clickable
      SHA1 IDs instead of the embedded "Go" buttons.  Also made the
      IDs clickable in the header for a diff between two commits.
      fa4da7b3
    • L
      [PATCH] gitk "parent information" in commit window · 8b192809
      Linus Torvalds 提交于
      This adds a useful "Parent:" line to the git commit information window.
      
      It looks something like this (from the infamous octopus merge):
      
      	Author: Junio C Hamano <junkio@cox.net>  2005-05-05 16:16:54
      	Committer: Junio C Hamano <junkio@cox.net>  2005-05-05 16:16:54
      	Parent: fc54a9c3  (Update git-apply-patch-script ...)
      	Parent: 9e30dd7c  (Make git-prune-script executa ...)
      	Parent: c4b83e61  (Do not write out new index if ...)
      	Parent: 66026590  (diff-cache shows differences  ...)
      	Parent: b28858bf  (Update diff engine for symlin ...)
      
      	    Octopus merge of the following five patches.
      
      	      Update git-apply-patch-script for symbolic links.
      	      Make git-prune-script executable again.
      	      Do not write out new index if nothing has changed.
      	      diff-cache shows differences for unmerged paths without --cache.
      	      Update diff engine for symlinks stored in the cache.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      
      where all the parent commit ID's are clickable, because the new lines are
      added as part of the "comment" string, and thus the regular clickability
      thing will match them automatically.
      
      I think this is good. And my random-tcl-monkey-skills are clearly getting
      better (although it's perfectly possible that somebody who actually knows
      what he is doing would have done things differently).
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8b192809
  18. 07 8月, 2005 2 次提交
    • P
      Use lf translation rather than binary when reading commit data. · d6e8149b
      Paul Mackerras 提交于
      The effect of this is that it allows Tcl to do the locale-specific
      conversion of the input data to its internal unicode representation.
      That means that commit messages in Russian or other languages should
      be displayed correctly now (according to the locale that is in effect.)
      d6e8149b
    • P
      Change cursor to a hand cursor when over a SHA1 ID link. · 94a2eede
      Paul Mackerras 提交于
      This is based on suggestions by Jeff Epler and Linus Torvalds, but
      extended so that we do the switching between the watch cursor and
      the normal cursor correctly as well.
      
      Also fixed a bug pointed out by Junio Hamano - I wasn't incrementing
      the link number (duh!).
      94a2eede
  19. 06 8月, 2005 1 次提交
    • P
      Add forward and back buttons and make SHA1 IDs clickable links. · d698206c
      Paul Mackerras 提交于
      When we display the commit message in the details pane, any string
      of 40 [0-9a-f] characters that corresponds to a SHA1 ID that we
      know about gets turned into a clickable link, and displayed in
      blue and underlined.
      
      We now keep a history of commits that we have looked at, and we
      have forward and back buttons for moving within the history list.
      d698206c
  20. 05 8月, 2005 1 次提交
    • P
      Compress the graph horizontally if it gets too wide. · 8d858d1a
      Paul Mackerras 提交于
      If the graph gets to use more than a certain percentage (default 50%)
      of the width of the top-left pane, we now reduce the amount of space
      allowed for each graph line.  This means it doesn't look quite as
      nice but you can still see the headline for the commit.  (Currently
      the only way to customize the percentage is to edit your ~/.gitk
      file manually.)
      8d858d1a
  21. 31 7月, 2005 1 次提交
    • P
      Fix some bugs causing application error popups. · 1115fb38
      Paul Mackerras 提交于
      Specifically this should fix the following errors:
      
      wrong # args: should be "startdiff ids" (fix from Junio Hamano)
      can't read "filelines(....)": no such element in array
      can't unset "treepending": no such variable
      1115fb38
  22. 29 7月, 2005 1 次提交
  23. 28 7月, 2005 3 次提交
  24. 21 7月, 2005 1 次提交
  25. 20 7月, 2005 1 次提交
    • P
      Calculate the list of interesting files for a merge. · 3c461ffe
      Paul Mackerras 提交于
      If there is a GCA for the parents of the merge, then a file is
      interesting if some parent has a version that is different from both
      the child and the GCA.  If there is no GCA (e.g. for a merge that
      pulls in an external project) then a file is interesting if the child's
      version is different from all of the parents.
      
      Next step is to actually show the differences for the interesting
      files...
      3c461ffe
  26. 19 7月, 2005 2 次提交
  27. 17 7月, 2005 2 次提交
    • P
      Fix display of mode changes in details pane. · 4f2c2642
      Paul Mackerras 提交于
      Also simplified the parsing of the git-diff-tree -p output and got
      rid of the unused 'seenfile' variable.
      4f2c2642
    • P
      First cut at displaying the diffs for a merge. · e2ed4324
      Paul Mackerras 提交于
      We display the files where the child differs from the first parent
      first in black in the file list window, followed by the second parent
      in blue, and so on using different colors for each parent (provided
      you don't have more than 6 parents; if you do we cycle around).
      e2ed4324