1. 04 8月, 2012 1 次提交
  2. 31 7月, 2012 8 次提交
    • J
      Git 1.7.11.4 · 0e4c8822
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      0e4c8822
    • J
      Merge branch 'jk/maint-commit-document-editmsg' into maint · f17adbce
      Junio C Hamano 提交于
      "$GIT_DIR/COMMIT_EDITMSG" file that is used to hold the commit log
      message user edits was not documented.
      
      * jk/maint-commit-document-editmsg:
        commit: document the temporary commit message file
      f17adbce
    • J
      Merge branch 'jk/maint-advise-vaddf' into maint · 5c992a13
      Junio C Hamano 提交于
      The advise() function did not use varargs correctly to format
      its message.
      
      * jk/maint-advise-vaddf:
        advice: pass varargs to strbuf_vaddf, not strbuf_addf
      5c992a13
    • J
      Merge branch 'kk/maint-commit-tree' into maint · 2e3710bd
      Junio C Hamano 提交于
      "git commit-tree" learned a more natural "-p <parent> <tree>" order
      of arguments long time ago, but recently forgot it by mistake.
      
      * kk/maint-commit-tree:
        Revert "git-commit-tree(1): update synopsis"
        commit-tree: resurrect command line parsing updates
      2e3710bd
    • J
      Merge branch 'jv/maint-no-ext-diff' into maint · 70f6be7a
      Junio C Hamano 提交于
      "git diff --no-ext-diff" did not output anything for a typechange
      filepair when GIT_EXTERNAL_DIFF is in effect.
      
      * jv/maint-no-ext-diff:
        diff: test precedence of external diff drivers
        diff: correctly disable external_diff with --no-ext-diff
      70f6be7a
    • J
      Merge branch 'pg/maint-1.7.9-am-where-is-patch' into maint · 9b67f560
      Junio C Hamano 提交于
      When "git am" failed, old timers knew to check .git/rebase-apply/patch
      to see what went wrong, but we never told the users about it.
      
      * pg/maint-1.7.9-am-where-is-patch:
        am: indicate where a failed patch is to be found
      9b67f560
    • J
      Merge branch 'jl/maint-1.7.10-recurse-submodules-with-symlink' into maint · 8ba105dd
      Junio C Hamano 提交于
      When "git submodule add" clones a submodule repository, it can get
      confused where to store the resulting submodule repository in the
      superproject's .git/ directory when there is a symbolic link in the
      path to the current directory.
      
      * jl/maint-1.7.10-recurse-submodules-with-symlink:
        submodules: don't stumble over symbolic links when cloning recursively
      8ba105dd
    • J
      Merge branch 'jc/maint-filter-branch-epoch-date' into maint · 80ffb757
      Junio C Hamano 提交于
      In 1.7.9 era, we taught "git rebase" about the raw timestamp format
      but we did not teach the same trick to "filter-branch", which rolled
      a similar logic on its own.
      
      * jc/maint-filter-branch-epoch-date:
        t7003: add test to filter a branch with a commit at epoch
        date.c: Fix off by one error in object-header date parsing
        filter-branch: do not forget the '@' prefix to force git-timestamp
      80ffb757
  3. 24 7月, 2012 2 次提交
    • J
      commit: document the temporary commit message file · 41f597d9
      Jeff King 提交于
      We do not document COMMIT_EDITMSG at all, but users may want
      to know about it for two reasons:
      
        1. They may want to tell their editor to configure itself
           for formatting a commit message.
      
        2. If a commit is aborted by an error, the user may want
           to recover the commit message they typed.
      
      Let's put a note in git-commit(1).
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      41f597d9
    • J
      advice: pass varargs to strbuf_vaddf, not strbuf_addf · 447b99c8
      Jeff King 提交于
      The advise() function takes a variable number of arguments
      and converts them into a va_list object to pass to strbuf
      for handling. However, we accidentally called strbuf_addf
      (that takes a variable number of arguments) instead of
      strbuf_vaddf (that takes a va_list).
      
      This bug dates back to v1.7.8.1-1-g23cb5bf3, but we never
      noticed because none of the current callers passes a string
      with a format specifier in it. And the compiler did not
      notice because the format string is not available at
      compile time.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      447b99c8
  4. 23 7月, 2012 12 次提交
    • J
      Git 1.7.11.3 · e6dfbcf1
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e6dfbcf1
    • J
      Merge branch 'jk/push-delete-ref-error-message' into maint · b1200791
      Junio C Hamano 提交于
      The error message from "git push $there :bogo" (and its equivalent
      "git push $there --delete bogo") mentioned that we tried and failed
      to guess what ref is being deleted based on the LHS of the refspec,
      which we don't.
      
      * jk/push-delete-ref-error-message:
        push: don't guess at qualifying remote refs on deletion
      b1200791
    • J
      Merge branch 'ar/clone-honor-umask-at-top' into maint · 7046e758
      Junio C Hamano 提交于
      A handful of files and directories we create had tighter than
      necessary permission bits when the user wanted to have group
      writability (e.g. by setting "umask 002").
      
      * ar/clone-honor-umask-at-top:
        add: create ADD_EDIT.patch with mode 0666
        rerere: make rr-cache fanout directory honor umask
        Restore umasks influence on the permissions of work tree created by clone
      7046e758
    • J
      Merge branch 'cw/amend-commit-without-message' into maint · c9603dfa
      Junio C Hamano 提交于
      "commit --amend" used to refuse amending a commit with an empty log
      message, with or without "--allow-empty-message".
      
      * cw/amend-commit-without-message:
        Allow edit of empty message with commit --amend
      c9603dfa
    • J
      Merge branch 'jk/maint-commit-amend-only-no-paths' into maint · f5a84009
      Junio C Hamano 提交于
      "git commit --amend --only --" was meant to allow "Clever" people to
      rewrite the commit message without making any change even when they
      have already changes for the next commit added to their index, but
      it never worked as advertised since it was introduced in 1.3.0 era.
      
      * jk/maint-commit-amend-only-no-paths:
        commit: fix "--amend --only" with no pathspec
      f5a84009
    • J
      Merge branch 'tg/maint-cache-name-compare' into maint · 1cd29139
      Junio C Hamano 提交于
      Even though the index can record pathnames longer than 1<<12 bytes,
      in some places we were not comparing them in full, potentially
      replacing index entries instead of adding.
      
      * tg/maint-cache-name-compare:
        cache_name_compare(): do not truncate while comparing paths
      1cd29139
    • J
      Merge branch 'tr/maint-show-walk' into maint · 1f5881d3
      Junio C Hamano 提交于
      "git show"'s auto-walking behaviour was an unreliable and
      unpredictable hack; it now behaves just like "git log" does when it
      walks.
      
      * tr/maint-show-walk:
        show: fix "range implies walking"
        Demonstrate git-show is broken with ranges
      1f5881d3
    • J
      Merge branch 'jc/refactor-diff-stdin' into maint · 106ef55f
      Junio C Hamano 提交于
      "git diff", "git status" and anything that internally uses the
      comparison machinery was utterly broken when the difference
      involved a file with "-" as its name.  This was due to the way "git
      diff --no-index" was incorrectly bolted on to the system, making
      any comparison that involves a file "-" at the root level
      incorrectly read from the standard input.
      
      * jc/refactor-diff-stdin:
        diff-index.c: "git diff" has no need to read blob from the standard input
        diff-index.c: unify handling of command line paths
        diff-index.c: do not pretend paths are pathspecs
      106ef55f
    • J
      Merge branch 'mz/empty-rebase-test' into maint · 07873ca7
      Junio C Hamano 提交于
      We did not have test to make sure "git rebase" without extra options
      filters out an empty commit in the original history.
      
      * mz/empty-rebase-test:
        add test case for rebase of empty commit
      07873ca7
    • J
      Merge branch 'js/fast-export-paths-with-spaces' into maint · 12d1ea21
      Junio C Hamano 提交于
      "git fast-export" produced an input stream for fast-import without
      properly quoting pathnames when they contain SPs in them.
      
      * js/fast-export-paths-with-spaces:
        fast-export: quote paths with spaces
      12d1ea21
    • J
      Merge branch 'cw/no-detaching-an-unborn' into maint · 9ea5c632
      Junio C Hamano 提交于
      "git checkout --detach", when you are still on an unborn branch,
      should be forbidden, but it wasn't.
      
      * cw/no-detaching-an-unborn:
        git-checkout: disallow --detach on unborn branch
      9ea5c632
    • J
      Merge branch 'vr/use-our-perl-in-tests' into maint · bb3ed291
      Junio C Hamano 提交于
      Some implementations of Perl terminates "lines" with CRLF even when
      the script is operating on just a sequence of bytes.  Make sure to
      use "$PERL_PATH", the version of Perl the user told Git to use, in
      our tests to avoid unnecessary breakages in tests.
      
      * vr/use-our-perl-in-tests:
        t/README: add a bit more Don'ts
        tests: enclose $PERL_PATH in double quotes
        t/test-lib.sh: export PERL_PATH for use in scripts
        t: Replace 'perl' by $PERL_PATH
      bb3ed291
  5. 20 7月, 2012 1 次提交
    • J
      diff: test precedence of external diff drivers · c12f82ae
      Jeff King 提交于
      There are three ways to specify an external diff command:
      GIT_EXTERNAL_DIFF in the environment, diff.external in the
      config, or a "diff" gitattribute. The current order of
      precedence is:
      
        1. gitattribute
      
        2. GIT_EXTERNAL_DIFF
      
        3. diff.external
      
      Usually our rule is that environment variables should take
      precedence over on-disk config (i.e., option 2 should come
      before option 1). However, this situation is trickier than
      some, because option 1 is more specific to the individual
      file than option 2 (which affects all files), so it might be
      preferable. So the current behavior can be seen as
      implementing "do the specific thing if we can, but fall back
      to this general thing".
      
      This is probably not what we would do if we were writing git
      from scratch, but it has been this way for several years,
      and is not worth changing. So let's at least document that
      this is the way it's supposed to work with a test.
      
      While we're there, let's also make sure that diff.external
      (which was not previously tested at all) works by running it
      through the same tests as GIT_EXTERNAL_DIFF.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c12f82ae
  6. 18 7月, 2012 4 次提交
    • J
      diff: correctly disable external_diff with --no-ext-diff · bd8c1a9b
      Junio C Hamano 提交于
      Upon seeing a type-change filepair, "diff --no-ext-diff" does not
      show the usual "deletion followed by addition" split patch and does
      not run the external diff driver either.
      
      This is because the logic to disable external diff was placed at a
      wrong level in the callchain.  run_diff_cmd() decides to show the
      split patch only when external diff driver is not configured or
      specified via GIT_EXTERNAL_DIFF environment, but this is done before
      checking if --no-ext-diff was given.  To make things worse,
      run_diff_cmd() checks --no-ext-diff and disables the output for such
      a filepair completely, as the callchain below it (e.g. builtin_diff)
      does not want to handle typechange filepairs.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      bd8c1a9b
    • J
      Revert "git-commit-tree(1): update synopsis" · 4b7518a4
      Junio C Hamano 提交于
      This reverts commit d2843673, which
      was done without realizing that the updated command line argument
      order was lost by mistake.
      4b7518a4
    • J
      Merge branch 'kk/maint-1.7.9-commit-tree' into kk/maint-commit-tree · 53bcf22a
      Junio C Hamano 提交于
      * kk/maint-1.7.9-commit-tree:
        commit-tree: resurrect command line parsing updates
      53bcf22a
    • J
      commit-tree: resurrect command line parsing updates · 9aab1b51
      Junio C Hamano 提交于
      79a9312c (commit-tree: update the command line parsing, 2011-11-09)
      updated the command line parser to understand the usual "flags first
      and then non-flag arguments" order, in addition to the original and
      a bit unusual "tree comes first and then zero or more -p <parent>".
      
      Unfortunately, ba3c69a9 (commit: teach --gpg-sign option, 2011-10-05)
      broke it by mistake.  Resurrect it, and protect the feature with a
      test from future breakages.
      
      Noticed by Keshav Kini
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9aab1b51
  7. 14 7月, 2012 1 次提交
    • P
      am: indicate where a failed patch is to be found · 14bf2d58
      Paul Gortmaker 提交于
      If "git am" fails to apply something, the end user may need to know
      where to find the patch that failed to apply, so that the user can
      do other things (e.g. trying "GNU patch" on it, running "diffstat"
      to see what it tried to change, etc.)  The input to "am" may have
      contained more than one patch, or the message may have been MIME
      encoded, and knowing what the user fed to "am" does not help very
      much for this purpose.
      
      Also introduce advice.amworkdir configuration to allow people who
      learned where to look to squelch this message.
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      14bf2d58
  8. 13 7月, 2012 3 次提交
  9. 12 7月, 2012 8 次提交
    • J
      Git 1.7.11.2 · 8d141a1d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8d141a1d
    • J
      Merge branch 'jc/maint-blame-unique-abbrev' into maint · b700086d
      Junio C Hamano 提交于
      "git blame" did not try to make sure that the abbreviated commit
      object names in its output are unique.
      
      * jc/maint-blame-unique-abbrev:
        blame: compute abbreviation width that ensures uniqueness
      b700086d
    • J
      Merge branch 'rj/platform-pread-may-be-thread-unsafe' into maint · 2e1e8efc
      Junio C Hamano 提交于
      On Cygwin, the platform pread(2) is not thread safe, just like our own
      compat/ emulation, and cannot be used in the index-pack program.
      Makefile variable NO_THREAD_SAFE_PREAD can be defined to avoid use of
      this function in a threaded program.
      
      * rj/platform-pread-may-be-thread-unsafe:
        index-pack: Disable threading on cygwin
      2e1e8efc
    • J
      Merge branch 'th/diff-no-index-fixes' into maint · 36c5109e
      Junio C Hamano 提交于
      "git diff --no-index" did not correctly handle relative paths and
      did not correctly give exit codes when run under "--quiet" option.
      
      * th/diff-no-index-fixes:
        diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes
        diff: handle relative paths in no-index
      36c5109e
    • J
      Merge branch 'nd/clone-single-fix' into maint · 4ac01b0c
      Junio C Hamano 提交于
      "git clone --single-branch" to clone a single branch did not limit
      the cloning to the specified branch.
      
      * nd/clone-single-fix:
        clone: fix ref selection in --single-branch --branch=xxx
      4ac01b0c
    • J
      Merge branch 'jc/rev-list-simplify-merges-first-parent' into maint · c8382c15
      Junio C Hamano 提交于
      When "git log" gets "--simplify-merges/by-decoration" together with
      "--first-parent", the combination of these options makes the
      simplification logic to use in-core commit objects that haven't been
      examined for relevance, either producing incorrect result or taking
      too long to produce any output.  Teach the simplification logic to
      ignore commits that the first-parent traversal logic ignored when
      both are in effect to work around the issue.
      
      * jc/rev-list-simplify-merges-first-parent:
        revision: ignore side parents while running simplify-merges
        revision: note the lack of free() in simplify_merges()
        revision: "simplify" options imply topo-order sort
      c8382c15
    • J
      Merge branch 'hv/submodule-update-nuke-submodules' into maint · a101eb41
      Junio C Hamano 提交于
      "git add" allows adding a regular file to the path where a submodule
      used to exist, but "git update-index" did not allow an equivalent
      operation to Porcelain writers.
      
      * hv/submodule-update-nuke-submodules:
        update-index: allow overwriting existing submodule index entries
      a101eb41
    • J
      Merge branch 'jk/diff-no-index-pager' into maint · 95c9eb8f
      Junio C Hamano 提交于
      "git diff --no-index" did not work with pagers correctly.
      
      * jk/diff-no-index-pager:
        do not run pager with diff --no-index --quiet
        fix pager.diff with diff --no-index
      95c9eb8f