1. 06 10月, 2007 4 次提交
  2. 04 10月, 2007 2 次提交
  3. 28 9月, 2007 1 次提交
    • P
      gitk: Fix the tab setting in the diff display window · 32f1b3e4
      Paul Mackerras 提交于
      This fixes the bug where we were using the wrong font to calculate
      the width of the tab stops in the diff display window.
      
      If we're running on Tk 8.5 we also use the new -tabstyle wordprocessor
      option that makes tabs work as expected, i.e. a tab moves the cursor
      to the right until the next tab stop is reached.  On Tk 8.5 we also
      get fancy and set the first tab stop at column 1 for a normal diff
      or column N for a merge diff with N parents.
      
      On Tk8.4 we can't do that because the tabs work in the "tabular"
      style, i.e. the nth tab character moves to the location of the nth
      tab position, *unless* you ask for the default tab setting, which
      gives 8-column tabs that work in the "wordprocessor" mode.  So on
      Tk8.4 if the tab setting is 8 we ask for default tabs.  This means
      that a tab setting of 7 or 9 can look quite different to 8 in some
      cases.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      32f1b3e4
  4. 27 9月, 2007 2 次提交
    • P
      gitk: Add progress bars for reading in stuff and for finding · bb3edc8b
      Paul Mackerras 提交于
      This uses the space formerly occupied by the find string entry field
      to make a status label (unused for now) and a canvas to display a
      couple of progress bars.  The bar for reading in commits is a short
      green bar that oscillates back and forth as commits come in.  The
      bar for showing the progress of a Find operation is yellow and advances
      from left to right.
      
      This also arranges to stop a Find operation if the user selects another
      commit or pops up a context menu, and fixes the "highlight this" popup
      menu items in the file list window.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      bb3edc8b
    • P
      gitk: Fix a couple of bugs · c73adce2
      Paul Mackerras 提交于
      insertrow and removerow were trying to adjust rowidlist, rowisopt
      and rowfinal even if the row where we're inserting/deleting stuff
      hasn't been laid out yet, which resulted in Tcl errors.  This fixes
      that.
      
      Also we weren't deleting the link$linknum tag in appendwithlinks,
      which resulted in SHA1 IDs in the body of a commit message sometimes
      getting shown in blue with underlining when they shouldn't.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c73adce2
  5. 22 9月, 2007 1 次提交
    • P
      gitk: Simplify highlighting interface and combine with Find function · 687c8765
      Paul Mackerras 提交于
      This effectively coaelesces the highlighting function and the search
      function.  Instead of separate highlight and find controls, there is
      now one set of interface elements that controls both.  The main
      selector is a drop-down menu that controls whether commits are
      highlighted and searched for on the basis of text in the commit
      (i.e. the commit object), files affected by the commit or strings
      added/removed by the commit.
      
      The functions to highlight by membership of a view or by ancestor/
      descendent relation to the selected commit are gone, as is the
      move to next/previous highlighted commit (shift-up/down) function.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      687c8765
  6. 15 9月, 2007 3 次提交
  7. 05 9月, 2007 1 次提交
  8. 30 8月, 2007 1 次提交
    • P
      gitk: Add a cache for the topology info · 5cd15b6b
      Paul Mackerras 提交于
      This adds code to write out the topology information used to determine
      precedes/follows and branch information into a cache file (~3.5MB for
      the kernel tree).  At startup we read the cache file and then do a
      git rev-list to update it, which is fast because we exclude all commits
      in the cache that have no children and commits reachable from them
      (which amounts to everything in the cache).  If one of those commits
      without children no longer exists, then git rev-list will give an error,
      whereupon we throw away the cache and read in the whole tree again.
      
      This gives a significant speedup in the startup time for gitk.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      5cd15b6b
  9. 29 8月, 2007 3 次提交
    • P
      gitk: Fix bug causing undefined variable error when cherry-picking · 6eaaccd1
      Paul Mackerras 提交于
      When "Show nearby tags" is turned off and the user did a cherry-pick,
      we were trying to access variables relating to the descendent/ancestor
      tag & head computations in addnewchild though they hadn't been set.
      This makes sure we don't do that.  Reported by Johannes Sixt.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      6eaaccd1
    • P
      gitk: Fix bug causing incorrect ref list contents when switching view · df904497
      Paul Mackerras 提交于
      If the view we're switching to hadn't been read in, we hit an early
      return in showview which meant we didn't update the ref list window.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      df904497
    • P
      gitk: Do only the parts of the layout that are needed · 0380081c
      Paul Mackerras 提交于
      This changes layoutrows and optimize_rows to make it possible to lay
      out only a little bit more of the graph than is visible, rather than
      having to lay out the whole graph from top to bottom.  To lay out
      some of the graph without starting at the top, we use the new make_idlist
      procedure for the first row, then lay it out proceeding downwards
      as before.  Empty list elements in rowidlist are used to denote rows
      that haven't been laid out yet.
      
      Optimizing happens much as before except that we don't try to optimize
      unless we have three consecutive rows laid out (or the top 2 rows).
      We have a new list, rowisopt, to record which rows have been optimized.
      
      If we change a row that has already been drawn, we set a flag which
      causes drawcommits to throw away everything drawn on the canvas and redraw
      the visible rows.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0380081c
  10. 24 8月, 2007 1 次提交
    • P
      gitk: Get rid of the rowchk array · 8f0bc7e9
      Paul Mackerras 提交于
      Instead, when looking for lines that should be terminated with a down
      arrow, we look at the parents of the commit $downarrowlen + 1 rows
      before.  This gets rid of one more place where we are assuming that
      all the rows are laid out in order from top to bottom.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8f0bc7e9
  11. 23 8月, 2007 2 次提交
    • P
      gitk: Fix some problems with the display of ids as links · 97645683
      Paul Mackerras 提交于
      First, this fixes the problem where a SHA1 id wouldn't be displayed
      as a link if it wasn't in the part of the graph that had been laid
      out at the time the details pane was filled in, even if that commit
      later became part of the graph.  This arranges for us to turn the
      SHA1 id into a link when we get to that id in laying out the graph.
      
      Secondly, there was a problem where the cursor wouldn't always turn
      to a hand when over a link, because the areas for two links could
      overlap slightly.  This fixes that by using a counter rather than
      always reverting to a counter when we leave the region of a link
      (which can happen just after we've entered a different link).
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      97645683
    • P
      gitk: Get rid of idinlist array · b0cdca99
      Paul Mackerras 提交于
      This changes layoutrows to use information from rowidlist and children
      to work out which parent ids are appearing for the first time or need
      an up arrow, instead of using idinlist.  To detect the situation where
      git log doesn't give us all the commits it references, this adds an
      idpending array that is updated and used by getcommitlines.
      
      This also fixes a bug where we weren't resetting the ordertok array when
      updating the list of commits; this fixes that too, and a bug where we
      could try to access an undefined element of commitrow if the user did
      an update before gitk had finished reading in the graph.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b0cdca99
  12. 22 8月, 2007 1 次提交
    • P
      gitk: Get rid of idrowranges and rowrangelist · 92ed666f
      Paul Mackerras 提交于
      Instead make the rowranges procedure compute its result by looking
      in the rowidlist entries for the rows around the children of the id
      and the id itself.  This turns out not to take too long, and not having
      to maintain idrowranges and rowrangelist speeds up the layout.
      
      This also makes optimize_rows not use rowranges, since all it really
      needed was a way to work out if one id is the first child of another,
      so it can just look at the children list.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      92ed666f
  13. 20 8月, 2007 2 次提交
  14. 17 8月, 2007 2 次提交
  15. 15 8月, 2007 3 次提交
  16. 13 8月, 2007 4 次提交
  17. 12 8月, 2007 6 次提交
  18. 01 8月, 2007 1 次提交
    • P
      gitk: Improve the drawing of links to parent lines · 513a54dc
      Paul Mackerras 提交于
      The way gitk used to draw the lines joining a commit to the lines
      representing its parents was sometimes visually ambiguous, especially
      when the line to the parent had a corner that coincided with a corner
      on another line.
      
      This improves things by using a smaller slanting section on the line
      joining a commit to a parent line if the parent line is vertical where
      it joins on.  It also optimizes the drawing a little in the case where
      the parent line slants towards this commit already.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      513a54dc