1. 27 9月, 2016 1 次提交
    • J
      get_sha1: detect buggy calls with multiple disambiguators · 259942f5
      Jeff King 提交于
      The get_sha1() family of functions takes a flags field, but
      some of the flags are mutually exclusive. In particular, we
      can only handle one disambiguating function, and the flags
      quietly override each other. Let's instead detect these as
      programming bugs.
      
      Technically some of the flags are supersets of the others,
      so treating COMMITTISH|TREEISH as just COMMITTISH is not
      wrong, but it's a good sign the caller is confused. And
      certainly asking for BLOB|TREE does not work.
      
      We can do the check easily with some bit-twiddling, and as a
      bonus, the bit-mask of disambiguators will come in handy in
      a future patch.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      259942f5
  2. 22 9月, 2016 21 次提交
    • J
      Fourth batch for 2.11 · 6fe1b140
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6fe1b140
    • J
      Merge branch 'jk/reduce-gc-aggressive-depth' · 0952ca8a
      Junio C Hamano 提交于
      "git gc --aggressive" used to limit the delta-chain length to 250,
      which is way too deep for gaining additional space savings and is
      detrimental for runtime performance.  The limit has been reduced to
      50.
      
      * jk/reduce-gc-aggressive-depth:
        gc: default aggressive depth to 50
      0952ca8a
    • J
      Merge branch 'jk/rebase-i-drop-ident-check' · ae1ae600
      Junio C Hamano 提交于
      Even when "git pull --rebase=preserve" (and the underlying "git
      rebase --preserve") can complete without creating any new commit
      (i.e. fast-forwards), it still insisted on having a usable ident
      information (read: user.email is set correctly), which was less
      than nice.  As the underlying commands used inside "git rebase"
      would fail with a more meaningful error message and advice text
      when the bogus ident matters, this extra check was removed.
      
      * jk/rebase-i-drop-ident-check:
        rebase-interactive: drop early check for valid ident
      ae1ae600
    • J
      Merge branch 'va/i18n' · 1fe6f5fb
      Junio C Hamano 提交于
      More i18n.
      
      * va/i18n:
        i18n: update-index: mark warnings for translation
        i18n: show-branch: mark plural strings for translation
        i18n: show-branch: mark error messages for translation
        i18n: receive-pack: mark messages for translation
        notes: spell first word of error messages in lowercase
        i18n: notes: mark error messages for translation
        i18n: merge-recursive: mark verbose message for translation
        i18n: merge-recursive: mark error messages for translation
        i18n: config: mark error message for translation
        i18n: branch: mark option description for translation
        i18n: blame: mark error messages for translation
      1fe6f5fb
    • J
      Merge branch 'jt/format-patch-base-info-above-sig' · e8f871a9
      Junio C Hamano 提交于
      "git format-patch --base=..." feature that was recently added
      showed the base commit information after "-- " e-mail signature
      line, which turned out to be inconvenient.  The base information
      has been moved above the signature line.
      
      * jt/format-patch-base-info-above-sig:
        format-patch: show base info before email signature
      e8f871a9
    • J
      Merge branch 'ks/perf-build-with-autoconf' · 0c5ff916
      Junio C Hamano 提交于
      Performance tests done via "t/perf" did not use the same set of
      build configuration if the user relied on autoconf generated
      configuration.
      
      * ks/perf-build-with-autoconf:
        t/perf/run: copy config.mak.autogen & friends to build area
      0c5ff916
    • J
      Merge branch 'mr/vcs-svn-printf-ulong' · ac5ce66a
      Junio C Hamano 提交于
      Code cleanup.
      
      * mr/vcs-svn-printf-ulong:
        vcs-svn/fast_export: fix timestamp fmt specifiers
      ac5ce66a
    • J
      Merge branch 'rs/xdiff-merge-overlapping-hunks-for-W-context' · 4ed38637
      Junio C Hamano 提交于
      "git diff -W" output needs to extend the context backward to
      include the header line of the current function and also forward to
      include the body of the entire current function up to the header
      line of the next one.  This process may have to merge to adjacent
      hunks, but the code forgot to do so in some cases.
      
      * rs/xdiff-merge-overlapping-hunks-for-W-context:
        xdiff: fix merging of hunks with -W context and -u context
      4ed38637
    • J
      Merge branch 'rs/unpack-trees-reduce-file-scope-global' · e9c6d3dc
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/unpack-trees-reduce-file-scope-global:
        unpack-trees: pass checkout state explicitly to check_updates()
      e9c6d3dc
    • J
      Merge branch 'rs/strbuf-remove-fix' · 3ba0bbb9
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/strbuf-remove-fix:
        strbuf: use valid pointer in strbuf_remove()
      3ba0bbb9
    • J
      Merge branch 'rs/pack-sort-with-llist-mergesort' · ee198369
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/pack-sort-with-llist-mergesort:
        sha1_file: use llist_mergesort() for sorting packs
      ee198369
    • J
      Merge branch 'rs/checkout-some-states-are-const' · 48e1f8ed
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/checkout-some-states-are-const:
        checkout: constify parameters of checkout_stage() and checkout_merged()
      48e1f8ed
    • J
      Merge branch 'jk/setup-sequence-update' · d845d727
      Junio C Hamano 提交于
      There were numerous corner cases in which the configuration files
      are read and used or not read at all depending on the directory a
      Git command was run, leading to inconsistent behaviour.  The code
      to set-up repository access at the beginning of a Git process has
      been updated to fix them.
      
      * jk/setup-sequence-update:
        t1007: factor out repeated setup
        init: reset cached config when entering new repo
        init: expand comments explaining config trickery
        config: only read .git/config from configured repos
        test-config: setup git directory
        t1302: use "git -C"
        pager: handle early config
        pager: use callbacks instead of configset
        pager: make pager_program a file-local static
        pager: stop loading git_default_config()
        pager: remove obsolete comment
        diff: always try to set up the repository
        diff: handle --no-index prefixes consistently
        diff: skip implicit no-index check when given --no-index
        patch-id: use RUN_SETUP_GENTLY
        hash-object: always try to set up the git repository
      d845d727
    • J
      Merge branch 'ew/http-do-not-forget-to-call-curl-multi-remove-handle' · ac8ddd7b
      Junio C Hamano 提交于
      The http transport (with curl-multi option, which is the default
      these days) failed to remove curl-easy handle from a curlm session,
      which led to unnecessary API failures.
      
      * ew/http-do-not-forget-to-call-curl-multi-remove-handle:
        http: always remove curl easy from curlm session on release
        http: consolidate #ifdefs for curl_multi_remove_handle
        http: warn on curl_multi_add_handle failures
      ac8ddd7b
    • J
      Merge branch 'bw/pathspec-remove-unused-extern-decl' · 570b4494
      Junio C Hamano 提交于
      Code cleanup.
      
      * bw/pathspec-remove-unused-extern-decl:
        pathspec: remove unnecessary function prototypes
      570b4494
    • J
      Merge branch 'ks/pack-objects-bitmap' · 7f109ef5
      Junio C Hamano 提交于
      Some codepaths in "git pack-objects" were not ready to use an
      existing pack bitmap; now they are and as the result they have
      become faster.
      
      * ks/pack-objects-bitmap:
        pack-objects: use reachability bitmap index when generating non-stdout pack
        pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
      7f109ef5
    • J
      Merge branch 'jk/patch-ids-no-merges' · f0a84de2
      Junio C Hamano 提交于
      "git log --cherry-pick" used to include merge commits as candidates
      to be matched up with other commits, resulting a lot of wasted time.
      The patch-id generation logic has been updated to ignore merges to
      avoid the wastage.
      
      * jk/patch-ids-no-merges:
        patch-ids: refuse to compute patch-id for merge commit
        patch-ids: turn off rename detection
      f0a84de2
    • J
      Merge branch 'jk/delta-base-cache' · 13307145
      Junio C Hamano 提交于
      Recently we updated the code to manage the in-core cache that holds
      objects that have recently been used to reconstitute other objects
      that are stored as deltas against them, but the update used an
      incorrect API function to manage the list of these objects.  This
      has been fixed.
      
      * jk/delta-base-cache:
        add_delta_base_cache: use list_for_each_safe
      13307145
    • J
      Merge branch 'et/add-chmod-x' · a9817aae
      Junio C Hamano 提交于
      "git add --chmod=+x" added recently lacked documentation, which has
      been corrected.
      
      * et/add-chmod-x:
        add: document the chmod option
      a9817aae
    • J
      Merge branch 'js/cat-file-filters' · 7889ed25
      Junio C Hamano 提交于
      Even though "git hash-objects", which is a tool to take an
      on-filesystem data stream and put it into the Git object store,
      allowed to perform the "outside-world-to-Git" conversions (e.g.
      end-of-line conversions and application of the clean-filter), and
      it had the feature on by default from very early days, its reverse
      operation "git cat-file", which takes an object from the Git object
      store and externalize for the consumption by the outside world,
      lacked an equivalent mechanism to run the "Git-to-outside-world"
      conversion.  The command learned the "--filters" option to do so.
      
      * js/cat-file-filters:
        cat-file: support --textconv/--filters in batch mode
        cat-file --textconv/--filters: allow specifying the path separately
        cat-file: introduce the --filters option
        cat-file: fix a grammo in the man page
      7889ed25
    • J
      Merge branch 'jt/accept-capability-advertisement-when-fetching-from-void' · 07d87243
      Junio C Hamano 提交于
      JGit can show a fake ref "capabilities^{}" to "git fetch" when it
      does not advertise any refs, but "git fetch" was not prepared to
      see such an advertisement.  When the other side disconnects without
      giving any ref advertisement, we used to say "there may not be a
      repository at that URL", but we may have seen other advertisement
      like "shallow" and ".have" in which case we definitely know that a
      repository is there.  The code to detect this case has also been
      updated.
      
      * jt/accept-capability-advertisement-when-fetching-from-void:
        connect: advertized capability is not a ref
        connect: tighten check for unexpected early hang up
        tests: move test_lazy_prereq JGIT to test-lib.sh
      07d87243
  3. 20 9月, 2016 18 次提交
    • J
      Sync with maint · f6727b05
      Junio C Hamano 提交于
      * maint:
        Start preparing for 2.10.1
      f6727b05
    • J
      Start preparing for 2.10.1 · 7c0304af
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7c0304af
    • J
      Merge branch 'sb/diff-cleanup' into maint · ddf8ee85
      Junio C Hamano 提交于
      Code cleanup.
      
      * sb/diff-cleanup:
        diff: remove dead code
        diff: omit found pointer from emit_callback
        diff.c: use diff_options directly
      ddf8ee85
    • J
      Merge branch 'ah/misc-message-fixes' into maint · 9f3d73e8
      Junio C Hamano 提交于
      Message cleanup.
      
      * ah/misc-message-fixes:
        unpack-trees: do not capitalize "working"
        git-merge-octopus: do not capitalize "octopus"
        git-rebase--interactive: fix English grammar
        cat-file: put spaces around pipes in usage string
        am: put spaces around pipe in usage string
      9f3d73e8
    • J
      Merge branch 'sb/transport-report-missing-submodule-on-stderr' into maint · 03039390
      Junio C Hamano 提交于
      Message cleanup.
      
      * sb/transport-report-missing-submodule-on-stderr:
        transport: report missing submodule pushes consistently on stderr
      03039390
    • J
      Merge branch 'sb/xdiff-remove-unused-static-decl' into maint · 51673a71
      Junio C Hamano 提交于
      Code cleanup.
      
      * sb/xdiff-remove-unused-static-decl:
        xdiff: remove unneeded declarations
      51673a71
    • J
      Merge branch 'js/t9903-chaining' into maint · 294573e6
      Junio C Hamano 提交于
      Test fix.
      
      * js/t9903-chaining:
        t9903: fix broken && chain
      294573e6
    • J
      Merge branch 'rs/hex2chr' into maint · c3befaea
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/hex2chr:
        introduce hex2chr() for converting two hexadecimal digits to a character
      c3befaea
    • J
      Merge branch 'rs/compat-strdup' into maint · 815a73f7
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/compat-strdup:
        compat: move strdup(3) replacement to its own file
      815a73f7
    • J
      Merge branch 'jk/squelch-false-warning-from-gcc-o3' into maint · 3d54b93f
      Junio C Hamano 提交于
      Compilation fix.
      
      * jk/squelch-false-warning-from-gcc-o3:
        color_parse_mem: initialize "struct color" temporary
        error_errno: use constant return similar to error()
      3d54b93f
    • J
      Merge branch 'ep/use-git-trace-curl-in-tests' into maint · 1e28677e
      Junio C Hamano 提交于
      Update a few tests that used to use GIT_CURL_VERBOSE to use the
      newer GIT_TRACE_CURL.
      
      * ep/use-git-trace-curl-in-tests:
        t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
        t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
        test-lib.sh: preserve GIT_TRACE_CURL from the environment
        t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
      1e28677e
    • J
      Merge branch 'js/t6026-clean-up' into maint · 8e265358
      Junio C Hamano 提交于
      A test spawned a short-lived background process, which sometimes
      prevented the test directory from getting removed at the end of the
      script on some platforms.
      
      * js/t6026-clean-up:
        t6026-merge-attr: clean up background process at end of test case
      8e265358
    • J
      Merge branch 'jc/forbid-symbolic-ref-d-HEAD' into maint · d6645312
      Junio C Hamano 提交于
      "git symbolic-ref -d HEAD" happily removes the symbolic ref, but
      the resulting repository becomes an invalid one.  Teach the command
      to forbid removal of HEAD.
      
      * jc/forbid-symbolic-ref-d-HEAD:
        symbolic-ref -d: do not allow removal of HEAD
      d6645312
    • J
      Merge branch 'jc/submodule-anchor-git-dir' into maint · 4c10c311
      Junio C Hamano 提交于
      Having a submodule whose ".git" repository is somehow corrupt
      caused a few commands that recurse into submodules loop forever.
      
      * jc/submodule-anchor-git-dir:
        submodule: avoid auto-discovery in prepare_submodule_repo_env()
      4c10c311
    • J
      Merge branch 'jk/test-lib-drop-pid-from-results' into maint · 79b51ebf
      Junio C Hamano 提交于
      The test framework left the number of tests and success/failure
      count in the t/test-results directory, keyed by the name of the
      test script plus the process ID.  The latter however turned out not
      to serve any useful purpose.  The process ID part of the filename
      has been removed.
      
      * jk/test-lib-drop-pid-from-results:
        test-lib: drop PID from test-results/*.count
      79b51ebf
    • J
      Merge branch 'bh/diff-highlight-graph' into maint · 276661ff
      Junio C Hamano 提交于
      "diff-highlight" script (in contrib/) learned to work better with
      "git log -p --graph" output.
      
      * bh/diff-highlight-graph:
        diff-highlight: avoid highlighting combined diffs
        diff-highlight: add multi-byte tests
        diff-highlight: ignore test cruft
        diff-highlight: add support for --graph output
        diff-highlight: add failing test for handling --graph output
        diff-highlight: add some tests
      276661ff
    • J
      Merge branch 'po/range-doc' into maint · f0b2db22
      Junio C Hamano 提交于
      Clarify various ways to specify the "revision ranges" in the
      documentation.
      
      * po/range-doc:
        doc: revisions: sort examples and fix alignment of the unchanged
        doc: revisions: show revision expansion in examples
        doc: revisions - clarify reachability examples
        doc: revisions - define `reachable`
        doc: gitrevisions - clarify 'latter case' is revision walk
        doc: gitrevisions - use 'reachable' in page description
        doc: revisions: single vs multi-parent notation comparison
        doc: revisions: extra clarification of <rev>^! notation effects
        doc: revisions: give headings for the two and three dot notations
        doc: show the actual left, right, and boundary marks
        doc: revisions - name the left and right sides
        doc: use 'symmetric difference' consistently
      f0b2db22
    • J
      Third batch for 2.11 · 2118cdc7
      Junio C Hamano 提交于
      This round they are somewhat bigger topics.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2118cdc7