1. 12 3月, 2009 1 次提交
  2. 08 3月, 2009 6 次提交
  3. 05 3月, 2009 1 次提交
  4. 04 3月, 2009 6 次提交
  5. 03 3月, 2009 3 次提交
  6. 02 3月, 2009 3 次提交
    • J
      t3400-rebase: Move detached HEAD check earlier · 2559bff3
      Johannes Sixt 提交于
      Short story: There is a section in t3400 that tests fundamental rebase
      properties.  3ec7371f (Add two extra tests for git rebase, 2009-02-09)
      added a check that rebase works on a detached HEAD, but the test was put
      near the end of the file.  This moves it to a more suitable place.
      
      Long story: The test that preceded the one in question tests that a
      rebased commit degrades from a content change with mode change to a
      mere mode change.  But on Windows, where we have core.filemode=false,
      the original commit did not record the mode change, and so the rebase
      operation did not rebase anything.  This caused the subsequent detached
      HEAD test to fail.
      Signed-off-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2559bff3
    • J
      Merge git://git.kernel.org/pub/scm/gitk/gitk · f8c62880
      Junio C Hamano 提交于
      * git://git.kernel.org/pub/scm/gitk/gitk:
        gitk: Fix possible infinite loop and display corruption
      f8c62880
    • P
      gitk: Fix possible infinite loop and display corruption · 52b8ea93
      Paul Mackerras 提交于
      This fixes an issue reported by Johannes Sixt on the git mailing list:
      
      > This recipe sends gitk into an endless loop. In git.git do:
      >
      > cd t
      > # remove chmod a+x A near the end of the file
      > sed -i 's/chmod/: chmod/' t3400-rebase.sh
      > sh t3400-rebase.sh --debug
      > cd trash\ directory.t3400-rebase/
      > gitk master modechange modechange@{1}
      >
      >
      > I briefly see the history chart, but the dot that should be modechange@{1}
      > is missing. One automatically selected commit is shown in the diff section
      > below. But then the commit list is cleared and gitk goes into an infinite
      > loop.
      >
      > Things work alright if either modechange@{1} is dropped, or the 'chmod'
      > line is left unchanged, which is a bit strange.
      >
      > This is with git version 1.6.1.2.390.gba743
      
      There were actually two problems.  This recipe created a situation where
      git log would output a child commit after its parent.  This meant that
      we called fix_reversal which called splitvarc, which should call modify_arc
      to note the fact that it has modified the arc that it has just split.  It
      wasn't, which meant that displayorder and other variables got into an
      inconsistent state (a commit appearing twice in displayorder).
      
      This then meant that the targetrow/targetid logic in drawvisible thought
      it need to redraw each time.  That, together with the fact that drawvisible
      called drawcommits which called drawvisible if a redraw was needed, led
      to the infinite loop.
      
      In fact drawvisible is now the only caller of drawcommits.  Thus, the
      start and end row arguments to drawcommits always encompass the whole
      visible area, so drawcommits doesn't need to call drawvisible to redraw;
      it just needs to clear the screen and draw what it's been asked to.
      
      This fixes these two problems by adding a call to modify_arc in
      splitvarc and by taking out the call to drawvisible in drawcommits.
      It also removes an unrelated left-over debugging puts in external_blame.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      52b8ea93
  7. 01 3月, 2009 7 次提交
  8. 28 2月, 2009 4 次提交
  9. 27 2月, 2009 6 次提交
    • J
      Merge branch 'cc/maint-1.6.0-bisect-fix' · 0c347356
      Junio C Hamano 提交于
      * cc/maint-1.6.0-bisect-fix:
        bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
      
      Conflicts:
      	git-bisect.sh
      0c347356
    • C
      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped · 1b249ffe
      Christian Couder 提交于
      When the "bad" commit was also "skip"ped and when more than one
      commit was skipped, the "filter_skipped" function would have
      printed something like:
      
          bisect_rev=<hash1>|<hash2>
      
      (where <hash1> and <hash2> are hexadecimal sha1 hashes)
      
      and this would have been evaled later as piping "bisect_rev=<hash1>"
      into "<hash2>", which would have failed.
      
      So this patch makes the "filter_skipped" function properly quote
      what it outputs, so that it will print something like:
      
      bisect_rev='<hash1>|<hash2>'
      
      which will be properly evaled later.  The caller was not stopping
      properly because the scriptlet this function returned to be evaled
      was not strung together with && and because of this, an error in
      an earlier part of the output was simply ignored.
      
      A test case is added to the test suite.
      
      And while at it, we also initialize the VARS, FOUND and TRIED
      variables, so that we protect ourselves from environment variables
      the user may have with these names.
      Signed-off-by: NChristian Couder <chriscool@tuxfamily.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1b249ffe
    • J
      git-am: make --abort less dangerous · 2d56a136
      Junio C Hamano 提交于
      When you are in the middle of "git rebase", "git am --abort" by mistake
      would have referred to nonexistent ORIG_HEAD and barfed, or worse yet, used
      a stale ORIG_HEAD and taken you to an unexpected commit.
      
      Also the option parsing did not reject "git am --abort --skip".
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2d56a136
    • M
      git-am: Keep index in case of abort with dirty index · c767184d
      Michael J Gruber 提交于
      git am --abort resets the index unconditionally. But in case a previous
      git am exited due to a dirty index it is preferable to keep that index.
      Make it so.
      Signed-off-by: NMichael J Gruber <git@drmicha.warpmail.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c767184d
    • J
      t5540-http-push.sh: avoid non-portable grep -P · 2591838b
      Jay Soffian 提交于
      OS X's GNU grep does not support -P/--perl-regexp.
      
      We use a basic RE instead, and simplify the pattern slightly by
      replacing '+' with '*' so it can be more easily expressed using a basic
      RE.  The important part of pattern, checking for a SHA-1 has suffix in
      the successful PUT/MOVE operations, remains the same.  Also, a-z instead
      of a-f was an obvious mistake in the original RE. Here are samples of
      what we want to match:
      
      127.0.0.1 - - [26/Feb/2009:22:38:13 +0000] "PUT /test_repo.git/objects/3e/a4fbb9e18a401a6463c595d08118fcb9fb7426_fab55116904c665a95438bcc78521444a7db6096 HTTP/1.1" 201 277
      127.0.0.1 - - [26/Feb/2009:22:38:13 +0000] "MOVE /test_repo.git/objects/3e/a4fbb9e18a401a6463c595d08118fcb9fb7426_fab55116904c665a95438bcc78521444a7db6096 HTTP/1.1" 201 277
      Signed-off-by: NJay Soffian <jaysoffian@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2591838b
    • M
      Fix odb_mkstemp() on AIX · 2c626e5f
      Mike Ralphson 提交于
      The AIX mkstemp() modifies its template parameter to an empty string if
      the call fails.  The existing code had already recomputed the template,
      but too late to be good.
      
      See also 6ff6af62, which fixed this problem in a different spot.
      Signed-off-by: NMike Ralphson <mike@abacus.co.uk>
      Signed-off-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2c626e5f
  10. 26 2月, 2009 3 次提交
    • J
      GIT 1.6.2-rc2 · 661763ab
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      661763ab
    • J
      Merge branch 'jc/maint-1.6.0-pack-directory' · bb0cebd7
      Junio C Hamano 提交于
      * jc/maint-1.6.0-pack-directory:
        Make sure objects/pack exists before creating a new pack
      bb0cebd7
    • J
      Make sure objects/pack exists before creating a new pack · 6e180cdc
      Junio C Hamano 提交于
      In a repository created with git older than f49fb35d (git-init-db: create
      "pack" subdirectory under objects, 2005-06-27), objects/pack/ directory is
      not created upon initialization.  It was Ok because subdirectories are
      created as needed inside directories init-db creates, and back then,
      packfiles were recent invention.
      
      After the said commit, new codepaths started relying on the presense of
      objects/pack/ directory in the repository.  This was exacerbated with
      8b4eb6b6 (Do not perform cross-directory renames when creating packs,
      2008-09-22) that moved the location temporary pack files are created from
      objects/ directory to objects/pack/ directory, because moving temporary to
      the final location was done carefully with lazy leading directory creation.
      
      Many packfile related operations in such an old repository can fail
      mysteriously because of this.
      
      This commit introduces two helper functions to make things work better.
      
       - odb_mkstemp() is a specialized version of mkstemp() to refactor the
         code and teach it to create leading directories as needed;
      
       - odb_pack_keep() refactors the code to create a ".keep" file while
         create leading directories as needed.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6e180cdc