1. 29 3月, 2017 23 次提交
    • J
      Merge branch 'rs/update-hook-optim' into maint · fd7c41ec
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/update-hook-optim:
        receive-pack: simplify run_update_post_hook()
      fd7c41ec
    • J
      Merge branch 'rs/shortlog-cleanup' into maint · fb0ab976
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/shortlog-cleanup:
        shortlog: don't set after_subject to an empty string
      fb0ab976
    • J
      Merge branch 'rs/path-name-safety-cleanup' into maint · 1c91ec0b
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/path-name-safety-cleanup:
        revision: remove declaration of path_name()
      1c91ec0b
    • J
      Merge branch 'rs/http-push-cleanup' into maint · 310b9452
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/http-push-cleanup:
        http-push: don't check return value of lookup_unknown_object()
      310b9452
    • J
      Merge branch 'sb/wt-status-cleanup' into maint · e3c551dd
      Junio C Hamano 提交于
      Code clean-up.
      
      * sb/wt-status-cleanup:
        wt-status: simplify by using for_each_string_list_item
      e3c551dd
    • J
      Merge branch 'jk/pack-name-cleanups' into maint · ba5e05ff
      Junio C Hamano 提交于
      Code clean-up.
      
      * jk/pack-name-cleanups:
        index-pack: make pointer-alias fallbacks safer
        replace snprintf with odb_pack_name()
        odb_pack_keep(): stop generating keepfile name
        sha1_file.c: make pack-name helper globally accessible
        move odb_* declarations out of git-compat-util.h
      ba5e05ff
    • J
      Merge branch 'jk/rev-parse-cleanup' into maint · 8f71209d
      Junio C Hamano 提交于
      Code clean-up.
      
      * jk/rev-parse-cleanup:
        rev-parse: simplify parsing of ref options
        rev-parse: add helper for parsing "--foo/--foo="
        rev-parse: use skip_prefix when parsing options
      8f71209d
    • J
      Merge branch 'rs/blame-code-cleanup' into maint · a9508a13
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/blame-code-cleanup:
        blame: move blame_entry duplication to add_blame_entry()
      a9508a13
    • J
      Merge branch 'st/verify-tag' into maint · 110bdbdd
      Junio C Hamano 提交于
      A few unterminated here documents in tests were fixed, which in
      turn revealed incorrect expectations the tests make. These tests
      have been updated.
      
      * st/verify-tag:
        t7004, t7030: fix here-doc syntax errors
      110bdbdd
    • J
      Merge branch 'js/regexec-buf' into maint · 57009b1d
      Junio C Hamano 提交于
      Fix for potential segv introduced in v2.11.0 and later (also
      v2.10.2).
      
      * js/regexec-buf:
        pickaxe: fix segfault with '-S<...> --pickaxe-regex'
      57009b1d
    • J
      Merge branch 'jk/execv-dashed-external' into maint · fd3ab91c
      Junio C Hamano 提交于
      Fix for NO_PTHREADS build.
      
      * jk/execv-dashed-external:
        run-command: fix segfault when cleaning forked async process
      fd3ab91c
    • J
      Merge branch 'ew/http-alternates-as-redirects-warning' into maint · c953cf95
      Junio C Hamano 提交于
      Recent versions of Git treats http alternates (used in dumb http
      transport) just like HTTP redirects and requires the client to
      enable following it, due to security concerns.  But we forgot to
      give a warning when we decide not to honor the alternates.
      
      * ew/http-alternates-as-redirects-warning:
        http: release strbuf on disabled alternates
        http: inform about alternates-as-redirects behavior
      c953cf95
    • J
      Merge branch 'dp/filter-branch-prune-empty' into maint · bfee58c0
      Junio C Hamano 提交于
      "git filter-branch --prune-empty" drops a single-parent commit that
      becomes a no-op, but did not drop a root commit whose tree is empty.
      
      * dp/filter-branch-prune-empty:
        p7000: add test for filter-branch with --prune-empty
        filter-branch: fix --prune-empty on parentless commits
        t7003: ensure --prune-empty removes entire branch when applicable
        t7003: ensure --prune-empty can prune root commit
      bfee58c0
    • J
      Merge branch 'mm/fetch-show-error-message-on-unadvertised-object' into maint · 2b69d311
      Junio C Hamano 提交于
      "git fetch" that requests a commit by object name, when the other
      side does not allow such an request, failed without much
      explanation.
      
      * mm/fetch-show-error-message-on-unadvertised-object:
        fetch-pack: add specific error for fetching an unadvertised object
        fetch_refs_via_pack: call report_unmatched_refs
        fetch-pack: move code to report unmatched refs to a function
      2b69d311
    • J
      Merge branch 'jk/interpret-branch-name' into maint · 41534b62
      Junio C Hamano 提交于
      "git branch @" created refs/heads/@ as a branch, and in general the
      code that handled @{-1} and @{upstream} was a bit too loose in
      disambiguating.
      
      * jk/interpret-branch-name:
        checkout: restrict @-expansions when finding branch
        strbuf_check_ref_format(): expand only local branches
        branch: restrict @-expansions when deleting
        t3204: test git-branch @-expansion corner cases
        interpret_branch_name: allow callers to restrict expansions
        strbuf_branchname: add docstring
        strbuf_branchname: drop return value
        interpret_branch_name: move docstring to header file
        interpret_branch_name(): handle auto-namelen for @{-1}
      41534b62
    • J
      Merge branch 'ab/cond-skip-tests' into maint · e25c1229
      Junio C Hamano 提交于
      A few tests were run conditionally under (rare) conditions where
      they cannot be run (like running cvs tests under 'root' account).
      
      * ab/cond-skip-tests:
        gitweb tests: skip tests when we don't have Time::HiRes
        gitweb tests: change confusing "skip_all" phrasing
        cvs tests: skip tests that call "cvs commit" when running as root
      e25c1229
    • J
      Merge branch 'jk/ident-empty' into maint · bb622de8
      Junio C Hamano 提交于
      user.email that consists of only cruft chars should consistently
      error out, but didn't.
      
      * jk/ident-empty:
        ident: do not ignore empty config name/email
        ident: reject all-crud ident name
        ident: handle NULL email when complaining of empty name
        ident: mark error messages for translation
      bb622de8
    • J
      Merge branch 'jk/delta-chain-limit' into maint · 252ef8fe
      Junio C Hamano 提交于
      "git repack --depth=<n>" for a long time busted the specified depth
      when reusing delta from existing packs.  This has been corrected.
      
      * jk/delta-chain-limit:
        pack-objects: convert recursion to iteration in break_delta_chain()
        pack-objects: enforce --depth limit in reused deltas
      252ef8fe
    • J
      Merge branch 'sg/test-with-stdin' into maint · 93040522
      Junio C Hamano 提交于
      Teach the "debug" helper used in the test framework that allows a
      command to run under "gdb" to make the session interactive.
      
      * sg/test-with-stdin:
        tests: make the 'test_pause' helper work in non-verbose mode
        tests: create an interactive gdb session with the 'debug' helper
      93040522
    • J
      Merge branch 'jk/interop-test' into maint · c34aa342
      Junio C Hamano 提交于
      Picking two versions of Git and running tests to make sure the
      older one and the newer one interoperate happily has now become
      possible.
      
      * jk/interop-test:
        t/interop: add test of old clients against modern git-daemon
        t: add an interoperability test harness
      c34aa342
    • J
      Merge branch 'jt/perf-updates' into maint · e0c74e6f
      Junio C Hamano 提交于
      The t/perf performance test suite was not prepared to test not so
      old versions of Git, but now it covers versions of Git that are not
      so ancient.
      
      * jt/perf-updates:
        t/perf: add fallback for pre-bin-wrappers versions of git
        t/perf: use $MODERN_GIT for all repo-copying steps
        t/perf: export variable used in other blocks
      e0c74e6f
    • J
      Merge branch 'rs/strbuf-add-real-path' into maint · cd27bc7a
      Junio C Hamano 提交于
      An helper function to make it easier to append the result from
      real_path() to a strbuf has been added.
      
      * rs/strbuf-add-real-path:
        strbuf: add strbuf_add_real_path()
        cocci: use ALLOC_ARRAY
      cd27bc7a
    • J
      Merge branch 'jk/parse-config-key-cleanup' into maint · c772d1bc
      Junio C Hamano 提交于
      The "parse_config_key()" API function has been cleaned up.
      
      * jk/parse-config-key-cleanup:
        parse_hide_refs_config: tell parse_config_key we don't want a subsection
        parse_config_key: allow matching single-level config
        parse_config_key: use skip_prefix instead of starts_with
        refs: parse_hide_refs_config to use parse_config_key
      c772d1bc
  2. 25 3月, 2017 11 次提交
    • J
      Git 2.12.2 · 8f9aeb0d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8f9aeb0d
    • J
      Merge branch 'ab/doc-no-option-notation-fix' into maint · 75d4476f
      Junio C Hamano 提交于
      Doc fix.
      
      * ab/doc-no-option-notation-fix:
        doc: change erroneous --[no]-whatever into --[no-]whatever
      75d4476f
    • J
      Merge branch 'ab/push-default-doc-fix' into maint · ce9e6178
      Junio C Hamano 提交于
      Doc fix.
      
      * ab/push-default-doc-fix:
        push: mention "push.default=tracking" in the documentation
      ce9e6178
    • J
      Merge branch 'nd/commit-hook-doc-fix' into maint · 7bd881f7
      Junio C Hamano 提交于
      Doc fix.
      
      * nd/commit-hook-doc-fix:
        git-commit.txt: list post-rewrite in HOOKS section
      7bd881f7
    • J
      Merge branch 'jc/config-case-cmdline-take-2' into maint · eb4e87ce
      Junio C Hamano 提交于
      The code to parse "git -c VAR=VAL cmd" and set configuration
      variable for the duration of cmd had two small bugs, which have
      been fixed.
      This supersedes jc/config-case-cmdline topic that has been discarded.
      
      * jc/config-case-cmdline-take-2:
        config: use git_config_parse_key() in git_config_parse_parameter()
        config: move a few helper functions up
      eb4e87ce
    • J
      Merge branch 'jk/grep-no-index-fix' into maint · ea7aa5a4
      Junio C Hamano 提交于
      The code to parse the command line "git grep <patterns>... <rev>
      [[--] <pathspec>...]" has been cleaned up, and a handful of bugs
      have been fixed (e.g. we used to check "--" if it is a rev).
      
      * jk/grep-no-index-fix:
        grep: treat revs the same for --untracked as for --no-index
        grep: do not diagnose misspelt revs with --no-index
        grep: avoid resolving revision names in --no-index case
        grep: fix "--" rev/pathspec disambiguation
        grep: re-order rev-parsing loop
        grep: do not unnecessarily query repo for "--"
        grep: move thread initialization a little lower
      ea7aa5a4
    • J
      Merge branch 'jn/remote-helpers-with-git-dir' into maint · 411a1794
      Junio C Hamano 提交于
      "git ls-remote" and "git archive --remote" are designed to work
      without being in a directory under Git's control.  However, recent
      updates revealed that we randomly look into a directory called
      .git/ without actually doing necessary set-up when working in a
      repository.  Stop doing so.
      
      * jn/remote-helpers-with-git-dir:
        remote helpers: avoid blind fall-back to ".git" when setting GIT_DIR
        remote: avoid reading $GIT_DIR config in non-repo
      411a1794
    • J
      Merge branch 'sb/submodule-config-parse-ignore-fix' into maint · f3d5bbb2
      Junio C Hamano 提交于
      Code to read submodule.<name>.ignore config did not state the
      variable name correctly when giving an error message diagnosing
      misconfiguration.
      
      * sb/submodule-config-parse-ignore-fix:
        submodule-config: correct error reporting for invalid ignore value
      f3d5bbb2
    • J
      Merge branch 'jk/push-deadlock-regression-fix' into maint · f4d3af18
      Junio C Hamano 提交于
      "git push" had a handful of codepaths that could lead to a deadlock
      when unexpected error happened, which has been fixed.
      
      * jk/push-deadlock-regression-fix:
        send-pack: report signal death of pack-objects
        send-pack: read "unpack" status even on pack-objects failure
        send-pack: improve unpack-status error messages
        send-pack: use skip_prefix for parsing unpack status
        send-pack: extract parsing of "unpack" response
        receive-pack: fix deadlock when we cannot create tmpdir
      f4d3af18
    • M
      mailmap: use Michael J Gruber's new address · 296ab786
      Michael J Gruber 提交于
      Map both old addresses to the new, hopefully more permanent one.
      Signed-off-by: NMichael J Gruber <git@drmicha.warpmail.net>
      Signed-off-by: NMichael J Gruber <git@grubix.eu>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      296ab786
    • S
      t7004, t7030: fix here-doc syntax errors · b42ca35e
      Santiago Torres 提交于
      Jan Palus noticed that some here-doc are spelled incorrectly,
      resulting the entire remainder of the test snippet being slurped
      into the "expect" file as if it were data, e.g. in this sequence
      
      	cat >expect <<EOF &&
      	... expectation ...
      	EOF
      	git $cmd_being_tested >actual &&
      	test_cmp expect actual
      
      the last command of the test is "cat" that sends everything to
      'expect' and succeeds.
      
      Fixing these issues in t7004 and t7030 reveals that "git tag -v"
      and "git verify-tag" with their --format option do not work as the
      test was expecting originally.  Instead of showing both valid tags
      and tags with incorrect signatures on their output, tags that do not
      pass verification are omitted from the output.  Another breakage that
      is uncovered is that these tests must be restricted to environment
      where gpg is available.
      
      Arguably, that is a safer behaviour, and because the format
      specifiers like %(tag) do not have a way to show if the signature
      verifies correctly, the command with the --format option cannot be
      used to get a list of tags annotated with their signature validity
      anyway.
      
      For now, let's fix the here-doc syntax, update the expectation to
      match the reality, and update the test prerequisite.
      
      Maybe later when we extend the --format language available to "git
      tag -v" and "git verify-tag" to include things like "%(gpg:status)",
      we may want to change the behaviour so that piping a list of tag
      names into
      
          xargs git verify-tag --format='%(gpg:status) %(tag)'
      
      becomes a good way to produce such a list, but that is a separate
      topic.
      Noticed-by: NJan Palus <jan.palus@gmail.com>
      Helped-by: NJeff King <peff@peff.net>
      Signed-off-by: NSantiago Torres <santiago@nyu.edu>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b42ca35e
  3. 22 3月, 2017 6 次提交
    • J
      Prepare for 2.12.2 · 8624735d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      8624735d
    • J
      Merge branch 'jh/send-email-one-cc' into maint · 71da2fb0
      Junio C Hamano 提交于
      "Cc:" on the trailer part does not have to conform to RFC strictly,
      unlike in the e-mail header.  "git send-email" has been updated to
      ignore anything after '>' when picking addresses, to allow non-address
      cruft like " # stable 4.4" after the address.
      
      * jh/send-email-one-cc:
        send-email: only allow one address per body tag
      71da2fb0
    • J
      Merge branch 'jk/t6300-cleanup' into maint · 7e02ec2c
      Junio C Hamano 提交于
      A test that creates a confusing branch whose name is HEAD has been
      corrected not to do so.
      
      * jk/t6300-cleanup:
        t6300: avoid creating refs/heads/HEAD
      7e02ec2c
    • J
      Merge branch 'rs/commit-parsing-optim' into maint · d6bc22e6
      Junio C Hamano 提交于
      The code that parses header fields in the commit object has been
      updated for (micro)performance and code hygiene.
      
      * rs/commit-parsing-optim:
        commit: don't check for space twice when looking for header
        commit: be more precise when searching for headers
      d6bc22e6
    • J
      Merge branch 'jk/show-branch-lift-name-len-limit' into maint · 93abd178
      Junio C Hamano 提交于
      "git show-branch" expected there were only very short branch names
      in the repository and used a fixed-length buffer to hold them
      without checking for overflow.
      
      * jk/show-branch-lift-name-len-limit:
        show-branch: use skip_prefix to drop magic numbers
        show-branch: store resolved head in heap buffer
        show-branch: drop head_len variable
      93abd178
    • J
      Merge branch 'jk/tempfile-ferror-fclose-confusion' into maint · f63df942
      Junio C Hamano 提交于
      A caller of tempfile API that uses stdio interface to write to
      files may ignore errors while writing, which is detected when
      tempfile is closed (with a call to ferror()).  By that time, the
      original errno that may have told us what went wrong is likely to
      be long gone and was overwritten by an irrelevant value.
      close_tempfile() now resets errno to EIO to make errno at least
      predictable.
      
      * jk/tempfile-ferror-fclose-confusion:
        tempfile: set errno to a known value before calling ferror()
      f63df942