1. 01 1月, 2010 1 次提交
  2. 23 12月, 2009 1 次提交
  3. 20 12月, 2009 1 次提交
    • B
      rebase -i: abort cleanly if the editor fails to launch · e49ca974
      Björn Gustavsson 提交于
      If the user's configured editor is emacsclient, the editor
      will fail to launch if emacs is not running and the git
      command that tried to lanuch the editor will abort. For most
      commands, all you have to do is to start emacs and repeat
      the command.
      
      The "git rebase -i" command, however, aborts without cleaning
      the "$GIT_DIR/rebase-merge" directory if it fails to launch the
      editor, so you'll need to do "git rebase --abort" before
      repeating the rebase command.
      
      Change "git rebase -i" to terminate using "die_abort" (instead of
      with "die") if the initial launch of the editor fails.
      Signed-off-by: NBjörn Gustavsson <bgustavsson@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e49ca974
  4. 18 12月, 2009 2 次提交
  5. 17 12月, 2009 3 次提交
    • J
      Git 1.6.5.7 · 527b9d70
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      527b9d70
    • J
      worktree: don't segfault with an absolute pathspec without a work tree · b3100fd5
      Junio C Hamano 提交于
      If a command is run with an absolute path as a pathspec inside a bare
      repository, e.g. "rev-list HEAD -- /home", the code tried to run strlen()
      on NULL, which is the result of get_git_work_tree(), and segfaulted.  It
      should just fail instead.
      
      Currently the function returns NULL even inside .git/ in a repository
      with a work tree, but that is a separate issue.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b3100fd5
    • J
      ignore unknown color configuration · 8b8e8624
      Jeff King 提交于
      When parsing the config file, if there is a value that is
      syntactically correct but unused, we generally ignore it.
      This lets non-core porcelains store arbitrary information in
      the config file, and it means that configuration files can
      be shared between new and old versions of git (the old
      versions might simply ignore certain configuration).
      
      The one exception to this is color configuration; if we
      encounter a color.{diff,branch,status}.$slot variable, we
      die if it is not one of the recognized slots (presumably as
      a safety valve for user misconfiguration). This behavior
      has existed since 801235c5 (diff --color: use
      $GIT_DIR/config, 2006-06-24), but hasn't yet caused a
      problem. No porcelain has wanted to store extra colors, and
      we once a color area (like color.diff) has been introduced,
      we've never changed the set of color slots.
      
      However, that changed recently with the addition of
      color.diff.func. Now a user with color.diff.func in their
      config can no longer freely switch between v1.6.6 and older
      versions; the old versions will complain about the existence
      of the variable.
      
      This patch loosens the check to match the rest of
      git-config; unknown color slots are simply ignored. This
      doesn't fix this particular problem, as the older version
      (without this patch) is the problem, but it at least
      prevents it from happening again in the future.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8b8e8624
  6. 16 12月, 2009 1 次提交
    • J
      help.autocorrect: do not run a command if the command given is junk · 06500a02
      Johannes Sixt 提交于
      If a given command is not found, then help.c tries to guess which one the
      user could have meant. If help.autocorrect is 0 or unset, then a list of
      suggestions is given as long as the dissimilarity between the given command
      and the candidates is not excessively high. But if help.autocorrect was
      non-zero (i.e., a delay after which the command is run automatically), the
      latter restriction on dissimilarity was not obeyed.
      
      In my case, this happened:
      
       $ git ..daab02
       WARNING: You called a Git command named '..daab02', which does not exist.
       Continuing under the assumption that you meant 'read-tree'
       in 4.0 seconds automatically...
      
      The patch reuses the similarity limit that is also applied when the list of
      suggested commands is printed.
      Signed-off-by: NJohannes Sixt <j6t@kdbg.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      06500a02
  7. 15 12月, 2009 1 次提交
  8. 11 12月, 2009 3 次提交
    • J
      Git 1.6.5.6 · 9861b644
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9861b644
    • J
      Fix archive format with -- on the command line · 782a0005
      Junio C Hamano 提交于
      Giving --format from the command line, or using output file extention to
      DWIM the output format, with a pathspec that is disambiguated with an
      explicit double-dash on the command line, e.g.
      
          git archive -o file --format=zip HEAD -- path
          git archive -o file.zip HEAD -- path
      
      didn't work correctly.
      
      This was because the code reordered (when one was given) or added (when
      the format was inferred) a --format argument at the end, effectively
      making it to "archive HEAD -- path --format=zip", i.e. an extra pathspec
      that is unlikely to match anything.
      
      The command line argument list should always be "options, revs and then
      paths", and we should set a good example by inserting the --format at the
      beginning instead.
      Reported-by: NIlari Liusvaara <ilari.liusvaara@elisanet.fi>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      782a0005
    • J
      Remove post-upload-hook · 1456b043
      Junio C Hamano 提交于
      This hook runs after "git fetch" in the repository the objects are
      fetched from as the user who fetched, and has security implications.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1456b043
  9. 09 12月, 2009 3 次提交
  10. 08 12月, 2009 1 次提交
    • J
      add-interactive: fix deletion of non-empty files · 8947fdd5
      Jeff King 提交于
      Commit 24ab81ae fixed the deletion of empty files, but broke
      deletion of non-empty files. The approach it took was to
      factor out the "deleted" line from the patch header into its
      own hunk, the same way we do for mode changes. However,
      unlike mode changes, we only showed the special "delete this
      file" hunk if there were no other hunks. Otherwise, the user
      would annoyingly be presented with _two_ hunks: one for
      deleting the file and one for deleting the content.
      
      This meant that in the non-empty case, we forgot about the
      deleted line entirely, and we submitted a bogus patch to
      git-apply (with "/dev/null" as the destination file, but not
      marked as a deletion).
      
      Instead, this patch combines the file deletion hunk and the
      content deletion hunk (if there is one) into a single
      deletion hunk which is either staged or not.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8947fdd5
  11. 06 12月, 2009 4 次提交
    • J
      Git 1.6.5.5 · aa031314
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      aa031314
    • L
      Fix diff -B/--dirstat miscounting of newly added contents · 77cd6ab6
      Linus Torvalds 提交于
      What used to happen is that diffcore_count_changes() simply ignored any
      hashes in the destination that didn't match hashes in the source. EXCEPT
      if the source hash didn't exist at all, in which case it would count _one_
      destination hash that happened to have the "next" hash value.  As a
      consequence, newly added material was often undercounted, making output
      from --dirstat and "complete rewrite" detection used by -B unrelialble.
      
      This changes it so that:
      
       - whenever it bypasses a destination hash (because it doesn't match a
         source), it counts the bytes associated with that as "literal added"
      
       - at the end (once we have used up all the source hashes), we do the same
         thing with the remaining destination hashes.
      
       - when hashes do match, and we use the difference in counts as a value,
         we also use up that destination hash entry (the 'd++').
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      77cd6ab6
    • J
      reset: improve worktree safety valves · 952dfc69
      Jeff King 提交于
      The existing code checked to make sure we were not in a bare
      repository when doing a hard reset. However, we should take
      this one step further, and make sure we are in a worktree.
      Otherwise, we can end up munging files inside of '.git'.
      
      Furthermore, we should do the same check for --merge resets,
      which have the same properties. Actually, a merge reset of
      HEAD^ would already complain, since further down in the code
      we want a worktree. However, it is nicer to check up-front;
      then we are sure we cover all cases ("git reset --merge"
      would run, even though it wasn't doing anything) and we can
      give a more specific message.
      
      Add tests to t7103 to cover these cases and some missing ones.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      952dfc69
    • T
      Documentation: Avoid use of xmlto --stringparam · 50d9bbba
      Todd Zullinger 提交于
      The --stringparam option is not available on older xmlto versions.
      Instead, set man.base.url.for.relative.links via a .xsl file.  Older
      docbook versions will ignore this without causing grief to users of
      older xmlto versions.
      Signed-off-by: NTodd Zullinger <tmz@pobox.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      50d9bbba
  12. 05 12月, 2009 2 次提交
  13. 04 12月, 2009 17 次提交