1. 16 2月, 2008 2 次提交
    • P
      Merge branch 'master' into dev · 585fb598
      Paul Mackerras 提交于
      585fb598
    • P
      gitk: Cope better with getting commits that we have already seen · f1bf4ee6
      Paul Mackerras 提交于
      This fixes a bug in updating the graph after we have cherry-picked
      a commit in gitk and then added some new stuff externally.  First,
      we weren't updating viewincl with the new head added by the cherry-
      pick.  Secondly, getcommitlines was doing bad things if it saw a
      commit that was already in the graph (was already in an arc).  This
      fixes both things.  If getcommitlines sees a commit that is already
      in the graph, it ignores it unless it was not listed before and is
      listed now.  In that case it doesn't assign it a new arc now, and
      doesn't re-add the commit to its arc.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f1bf4ee6
  2. 14 2月, 2008 1 次提交
  3. 13 2月, 2008 2 次提交
    • L
      [PATCH] gitk: learn --show-all output · 1407ade9
      Linus Torvalds 提交于
      It's really not very easy to visualize the commit walker,
      because - on purpose - it obvously doesn't show the
      uninteresting commits!
      
      We will soon add a "--show-all" flag to the revision walker,
      which will make it show uninteresting commits too, and they'll
      have a '^' in front of them.
      
      This is to update 'gitk' to show those negative commits in gray
      to futureproof it.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1407ade9
    • P
      gitk: Fix cherry-picking to insert a real row not a fake row · b8a938cf
      Paul Mackerras 提交于
      The insertrow/removerow functions were really only suitable for
      inserting/removing a fake row such as the ones used for showing
      the local changes.  When used to insert a real new row from a
      cherry-pick, they left things in an inconsistent state which then
      caused various strange layout errors.
      
      This renames insertrow/removerow to insertfakerow/removefakerow
      and adds a new insertrow that does actually go to all the trouble
      of creating a new arc and setting it up.  This is more work but
      keeps things consistent.
      
      This also fixes a bug where cherrypick was not setting mainheadid,
      and one where selectline wasn't always resulting in targetrow/id
      being set to the selected row/id.  Also insert/removefakerow now
      adjust numcommits and call setcanvscroll.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b8a938cf
  4. 12 2月, 2008 3 次提交
  5. 15 1月, 2008 3 次提交
  6. 14 1月, 2008 1 次提交
  7. 13 1月, 2008 1 次提交
    • P
      gitk: Select head of current branch by default · 3e76608d
      Paul Mackerras 提交于
      Instead of selecting the first commit that appears, this makes gitk
      select the currently checked out head, if the user hasn't explicitly
      selected some other commit by the time it appears.  If the head hasn't
      appeared by the time the graph is complete, then we select the first
      real commit.
      
      This applies both for graph updates and when the graph is being read
      in initially.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3e76608d
  8. 12 1月, 2008 1 次提交
    • P
      gitk: Fix a bug in make_disporder · 17529cf9
      Paul Mackerras 提交于
      The make_disporder function has an optimization where it assumed that
      if displayorder was already long enough and the first entry in it for
      a particular arc was non-null, then the whole arc was present.  This
      turns out not to be true in some circumstances, since we can add a
      commit to an arc (which truncates displayorder to the previous end of
      that arc), then call make_disporder for later arcs (which will pad
      displayorder with null elements), then call make_disporder for the
      first arc - which won't update the null elements.
      
      This fixes it by changing the optimization to check the last element
      for the arc instead of the first.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      17529cf9
  9. 11 1月, 2008 3 次提交
  10. 10 1月, 2008 1 次提交
    • P
      gitk: Fix handling of flag arguments · 5be25a8f
      Paul Mackerras 提交于
      Despite the name, the --revs-only flag to git rev-parse doesn't make
      it output only revision IDs.  It makes it output only arguments that
      are suitable for giving to git rev-list.  So make start_rev_list and
      updatecommits cope with arguments output by git rev-parse that aren't
      revision IDs.  This way we won't get an error when an argument such as
      "-300" has been given to gitk and the view is updated.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      5be25a8f
  11. 09 1月, 2008 4 次提交
  12. 07 1月, 2008 1 次提交
  13. 06 1月, 2008 3 次提交
  14. 02 1月, 2008 2 次提交
    • P
      gitk: Fix a couple of bugs in the find function · cd2bcae7
      Paul Mackerras 提交于
      First, findmore would sometimes get a Tcl error due to relying on
      varcorder and vrownum having valid values for the rows being searched,
      but they may not be valid unless update_arcrows is called, so this
      makes findmore call update_arcrows if necessary.
      
      Secondly, in the "touching paths" and "adding/removing string" modes,
      findmore was treating fhighlights($row) == -1 as meaning the row
      matches, whereas it only means that we haven't received an answer from
      the external git diff-tree process about it yet.  This fixes it.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      cd2bcae7
    • P
      gitk: Fix some corner cases in the targetid/targetrow stuff · 42a671fc
      Paul Mackerras 提交于
      * Make sure targetrow is never >= numcommits
      * Don't try to do anything about the target row if the targetid is
        no longer in the view; it'll just cause Tcl errors
      * In insertrow, increment targetrow if we are inserting the fake
        commit at or before the target row
      * In removerow, if we are removing the target row, make it the next
        one instead.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      42a671fc
  15. 31 12月, 2007 2 次提交
  16. 30 12月, 2007 1 次提交
    • P
      gitk: Keep the same commits visible as other commits come in · 31c0eaa8
      Paul Mackerras 提交于
      Since commits come in out of order and get sorted as we see them,
      we can have commits coming in and being placed before the commits
      that are visible in the graph display pane.  Previously we just
      displayed a certain range of row numbers, meaning that when
      incoming commits were placed before the displayed range, the
      displayed commits were displaced downwards.  This makes it so
      that we keep the same set of commits displayed, unless the user
      explicitly scrolls the pane, in which case it scrolls as expected.
      
      We do this by having a "target" commit which we try to keep in the
      same visible position.  If commits have come in before it we scroll
      the canvases by the number of rows that it has moved in the display
      order.
      
      This also fixes a bug in rowofcommit where it would test
      cached_commitrow before possibly calling update_arcrows, which is
      where cached_commitrow gets invalidated if things have changed.
      Now we call update_arcrows if necessary first.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      31c0eaa8
  17. 29 12月, 2007 1 次提交
    • P
      gitk: Don't try to show local changes from a head that isn't shown · eb5f8c9c
      Paul Mackerras 提交于
      When updating the display, if the checked-out head has moved on and
      isn't currently shown, and there are local changes, we could try to
      insert a fake row with a parent that isn't displayed, leading to a
      Tcl error.  This is because we check whether the checked-out head
      is displayed before rereading the references (which is when we discover
      that the head has moved).  This fixes it.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      eb5f8c9c
  18. 26 12月, 2007 1 次提交
    • P
      gitk: Fix another collection of bugs · fc2a256f
      Paul Mackerras 提交于
      * Fixed a bug that occasionally resulted in Tcl "can't use empty string
        as argument to incr" errors - rowofcommit was sometimes not calling
        update_arcrows when it needed to.
      
      * Fixed a "no such element in array" error when removing a fake row,
        by unsetting currentid and selectedline in removerow if the row we
        are removing is the currently selected row.
      
      * Made the "update commits" function always do "reread references".
      
      * Made dodiffindex et al. remove the fake row(s) if necessary.
      
      * Fixed a bug where clicking on a row in the graph display pane didn't
        account for horizontal scrolling of the pane.
      
      * Started changing things that cached information based on row numbers
        to use commit IDs instead -- this converts the "select line" items
        that are put into the history list to use "select by ID" instead.
      
      * Simplified redrawtags a bit, and fixed a bug where it would use the
        mainfont for working out how far it extends to the right in the graph
        display pane rather than the actual font (which might be bold).
      
      * Fixed a bug where "reread references" wouldn't notice if the currently
        checked-out head had changed.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      fc2a256f
  19. 20 12月, 2007 7 次提交