1. 30 10月, 2018 10 次提交
    • J
      Merge branch 'tq/branch-style-fix' · 6119b8de
      Junio C Hamano 提交于
      Code clean-up.
      
      * tq/branch-style-fix:
        branch: trivial style fix
      6119b8de
    • J
      Merge branch 'tq/branch-create-wo-branch-get' · d4591b97
      Junio C Hamano 提交于
      Code clean-up.
      
      * tq/branch-create-wo-branch-get:
        builtin/branch.c: remove useless branch_get
      d4591b97
    • J
      Merge branch 'bc/hash-transition-part-15' · d829d491
      Junio C Hamano 提交于
      More codepaths are moving away from hardcoded hash sizes.
      
      * bc/hash-transition-part-15:
        rerere: convert to use the_hash_algo
        submodule: make zero-oid comparison hash function agnostic
        apply: rename new_sha1_prefix and old_sha1_prefix
        apply: replace hard-coded constants
        tag: express constant in terms of the_hash_algo
        transport: use parse_oid_hex instead of a constant
        upload-pack: express constants in terms of the_hash_algo
        refs/packed-backend: express constants using the_hash_algo
        packfile: express constants in terms of the_hash_algo
        pack-revindex: express constants in terms of the_hash_algo
        builtin/fetch-pack: remove constants with parse_oid_hex
        builtin/mktree: remove hard-coded constant
        builtin/repack: replace hard-coded constants
        pack-bitmap-write: use GIT_MAX_RAWSZ for allocation
        object_id.cocci: match only expressions of type 'struct object_id'
      d829d491
    • J
      Merge branch 'sb/strbuf-h-update' · 7dc3e5a3
      Junio C Hamano 提交于
      Code clean-up to serve as a BCP example.
      
      * sb/strbuf-h-update:
        strbuf.h: format according to coding guidelines
      7dc3e5a3
    • J
      Merge branch 'jk/run-command-notdot' · 17809a98
      Junio C Hamano 提交于
      The implementation of run_command() API on the UNIX platforms had a
      bug that caused a command not on $PATH to be found in the current
      directory.
      
      * jk/run-command-notdot:
        run-command: mark path lookup errors with ENOENT
      17809a98
    • J
      Merge branch 'tb/filter-alternate-refs' · 107b9bad
      Junio C Hamano 提交于
      Test fix.
      
      * tb/filter-alternate-refs:
        t5410: use longer path for sample script
        Documentation/config.txt: fix typo in core.alternateRefsCommand
      107b9bad
    • J
      Merge branch 'rv/send-email-cc-misc-by' · 8a0d060f
      Junio C Hamano 提交于
      "git send-email" learned to grab address-looking string on any
      trailer whose name ends with "-by"; --suppress-cc=misc-by on the
      command line, or setting sendemail.suppresscc configuration
      variable to "misc-by", can be used to disable this behaviour.
      
      This is a backward-incompatible change that may surprise existing
      users.
      
      * rv/send-email-cc-misc-by:
        send-email: also pick up cc addresses from -by trailers
        send-email: only consider lines containing @ or <> for automatic Cc'ing
        Documentation/git-send-email.txt: style fixes
      8a0d060f
    • J
      Merge branch 'lm/range-diff-submodule-fix' · d450e564
      Junio C Hamano 提交于
      "git range-diff" did not work well when the compared ranges had
      changes in submodules and the "--submodule=log" was used.
      
      * lm/range-diff-submodule-fix:
        range-diff: allow to diff files regardless of submodule config
      d450e564
    • J
      Merge branch 'ch/subtree-build' · 42a165c9
      Junio C Hamano 提交于
      Build update for "git subtree" (in contrib/) documentation pages.
      
      * ch/subtree-build:
        Revert "subtree: make install targets depend on build targets"
        subtree: make install targets depend on build targets
        subtree: add build targets 'man' and 'html'
      42a165c9
    • J
      Merge branch 'md/filter-trees' · 77d50375
      Junio C Hamano 提交于
      The "rev-list --filter" feature learned to exclude all trees via
      "tree:0" filter.
      
      * md/filter-trees:
        list-objects: support for skipping tree traversal
        filter-trees: code clean-up of tests
        list-objects-filter: implement filter tree:0
        list-objects-filter-options: do not over-strbuf_init
        list-objects-filter: use BUG rather than die
        revision: mark non-user-given objects instead
        rev-list: handle missing tree objects properly
        list-objects: always parse trees gently
        list-objects: refactor to process_tree_contents
        list-objects: store common func args in struct
      77d50375
  2. 26 10月, 2018 17 次提交
    • J
      Sixth batch for 2.20 · c670b1f8
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c670b1f8
    • J
      Merge branch 'js/mingw-default-ident' · 16ce0b92
      Junio C Hamano 提交于
      The logic to select the default user name and e-mail on Windows has
      been improved.
      
      * js/mingw-default-ident:
        mingw: use domain information for default email
        getpwuid(mingw): provide a better default for the user name
        getpwuid(mingw): initialize the structure only once
      16ce0b92
    • J
      Merge branch 'ld/p4-unshelve' · 1e5d4548
      Junio C Hamano 提交于
      "git p4 unshelve" improvements.
      
      * ld/p4-unshelve:
        git-p4: fully support unshelving changelists
        git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
        git-p4: do not fail in verbose mode for missing 'fileSize' key
      1e5d4548
    • J
      Merge branch 'du/cherry-is-plumbing' · eff5d693
      Junio C Hamano 提交于
      Doc update to mark "git cherry" as a plumbing command.
      
      * du/cherry-is-plumbing:
        doc: move git-cherry to plumbing
      eff5d693
    • J
      Merge branch 'ab/gc-doc-update' · 1fd2ffca
      Junio C Hamano 提交于
      The documentation of "git gc" has been updated to mention that it
      is no longer limited to "pruning away crufts" but also updates
      ancillary files like commit-graph as a part of repository
      optimization.
      
      * ab/gc-doc-update:
        gc doc: mention the commit-graph in the intro
      1fd2ffca
    • J
      Merge branch 'js/fuzzer' · 0c41b3b1
      Junio C Hamano 提交于
      An experiment to fuzz test a few areas, hopefully we can gain more
      coverage to various areas.
      
      * js/fuzzer:
        fuzz: add fuzz testing for packfile indices.
        fuzz: add basic fuzz testing target.
      0c41b3b1
    • J
      Merge branch 'rv/alias-help' · 7752999c
      Junio C Hamano 提交于
      "git cmd --help" when "cmd" is aliased used to only say "cmd is
      aliased to ...".  Now it shows that to the standard error stream
      and runs "git $cmd --help" where $cmd is the first word of the
      alias expansion.
      
      This could be misleading for those who alias a command with options
      (e.g. with "[alias] cpn = cherry-pick -n", "git cpn --help" would
      show the manual of "cherry-pick", and the reader would not be told
      to pay close attention to the part that describes the "--no-commit"
      option until closing the pager that showed the contents of the
      manual, if the pager is configured to restore the original screen,
      or would not be told at all, if the pager simply makes the message
      on the standard error scroll away.
      
      * rv/alias-help:
        git-help.txt: document "git help cmd" vs "git cmd --help" for aliases
        git.c: handle_alias: prepend alias info when first argument is -h
        help: redirect to aliased commands for "git cmd --help"
      7752999c
    • J
      Merge branch 'sb/diff-emit-line-ws-markup-cleanup' · d1f96fd8
      Junio C Hamano 提交于
      Code clean-up.
      
      * sb/diff-emit-line-ws-markup-cleanup:
        diff.c: pass sign_index to emit_line_ws_markup
      d1f96fd8
    • J
      Merge branch 'du/get-tar-commit-id-is-plumbing' · 46307e34
      Junio C Hamano 提交于
      Doc update to mark "git get-tar-commit-id" as a plumbing command.
      
      * du/get-tar-commit-id-is-plumbing:
        doc: move git-get-tar-commit-id to plumbing
      46307e34
    • J
      Merge branch 'mm/doc-no-dashed-git' · eed56667
      Junio C Hamano 提交于
      Doc update.
      
      * mm/doc-no-dashed-git:
        doc: fix a typo and clarify a sentence
      eed56667
    • J
      Merge branch 'du/rev-parse-is-plumbing' · 7db60837
      Junio C Hamano 提交于
      Doc update.
      
      * du/rev-parse-is-plumbing:
        doc: move git-rev-parse from porcelain to plumbing
      7db60837
    • J
      Merge branch 'np/log-graph-octopus-fix' · 0ffa31fc
      Junio C Hamano 提交于
      "git log --graph" showing an octopus merge sometimes miscounted the
      number of display columns it is consuming to show the merge and its
      parent commits, which has been corrected.
      
      * np/log-graph-octopus-fix:
        log: fix coloring of certain octopus merge shapes
      0ffa31fc
    • J
      Merge branch 'sg/split-index-racefix' · 7a43ab6f
      Junio C Hamano 提交于
      The codepath to support the experimental split-index mode had
      remaining "racily clean" issues fixed.
      
      * sg/split-index-racefix:
        split-index: BUG() when cache entry refers to non-existing shared entry
        split-index: smudge and add racily clean cache entries to split index
        split-index: don't compare cached data of entries already marked for split index
        split-index: count the number of deleted entries
        t1700-split-index: date back files to avoid racy situations
        split-index: add tests to demonstrate the racy split index problem
        t1700-split-index: document why FSMONITOR is disabled in this test script
      7a43ab6f
    • J
      Merge branch 'ds/coverage-diff' · 3c4a8214
      Junio C Hamano 提交于
      The result of coverage test can be combined with "git blame" to
      check the test coverage of code introduced recently with a new
      'coverage-diff' tool (in contrib/).
      
      * ds/coverage-diff:
        contrib: add coverage-diff script
      3c4a8214
    • J
      Merge branch 'bc/editorconfig' · 778bb5ea
      Junio C Hamano 提交于
      To help developers, an EditorConfig file that attempts to follow
      the project convention has been added.
      
      * bc/editorconfig:
        editorconfig: indicate settings should be kept in sync
        editorconfig: provide editor settings for Git developers
      778bb5ea
    • J
      Merge branch 'ma/t7005-bash-workaround' · f7661766
      Junio C Hamano 提交于
      Test fix.
      
      * ma/t7005-bash-workaround:
        t7005-editor: quote filename to fix whitespace-issue
      f7661766
    • J
      Merge branch 'rs/subtree-fixes' · e7b07376
      Junio C Hamano 提交于
      Various subtree fixes.
      
      * rs/subtree-fixes:
        subtree: performance improvement for finding unexpected parent commits
        subtree: improve decision on merges kept in split
        subtree: use commits before rejoins for splits
        subtree: make --ignore-joins pay attention to adds
        subtree: refactor split of a commit into standalone method
      e7b07376
  3. 25 10月, 2018 4 次提交
    • L
      range-diff: allow to diff files regardless of submodule config · 0e573e8f
      Lucas De Marchi 提交于
      If we have `submodule.diff = log' in the configuration file
      or `--submodule=log' is given as argument, range-diff fails
      to compare both diffs and we only get the following output:
      
          Submodule a 0000000...0000000 (new submodule)
      
      Even if the repository doesn't have any submodule.
      
      That's because the mode in diff_filespec is not correct and when
      flushing the diff, down in builtin_diff() we will enter the condition:
      
      	if (o->submodule_format == DIFF_SUBMODULE_LOG &&
      	    (!one->mode || S_ISGITLINK(one->mode)) &&
      	    (!two->mode || S_ISGITLINK(two->mode))) {
      		show_submodule_summary(o, one->path ? one->path : two->path,
      				&one->oid, &two->oid,
      				two->dirty_submodule);
      		return;
      
      It turns out that S_ISGITLINK will return true (mode == 0160000 here).
      Similar thing happens if submodule.diff is "diff".
      
      Do like it's done in grep.c when calling fill_filespec() and force it to
      be recognized as a file by adding S_IFREG to the mode.
      Signed-off-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Acked-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      0e573e8f
    • J
      t5410: use longer path for sample script · e6641d2f
      Jeff King 提交于
      t5410 creates a sample script "alternate-refs", and sets
      core.alternateRefsCommand to just "alternate-refs". That
      shouldn't work, as "." is not in our $PATH, and so we should
      not find it.
      
      However, due to a bug in run-command.c, we sometimes find it
      anyway! Even more confusing, this bug is only in the
      fork-based version of run-command. So the test passes on
      Linux (etc), but fails on Windows.
      
      In preparation for fixing the run-command bug, let's use a
      more complete path here.
      Reported-by: NJohannes Schindelin <Johannes.Schindelin@gmx.de>
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e6641d2f
    • J
      t0061: adjust to test-tool transition · f67b9807
      Junio C Hamano 提交于
      f67b9807
    • J
      run-command: mark path lookup errors with ENOENT · 321fd823
      Jeff King 提交于
      Since commit e3a43446 (run-command: use the
      async-signal-safe execv instead of execvp, 2017-04-19),
      prepare_cmd() does its own PATH lookup for any commands we
      run (on non-Windows platforms).
      
      However, its logic does not match the old execvp call when
      we fail to find a matching entry in the PATH. Instead of
      feeding the name directly to execv, execvp would consider
      that an ENOENT error. By continuing and passing the name
      directly to execv, we effectively behave as if "." was
      included at the end of the PATH. This can have confusing and
      even dangerous results.
      
      The fix itself is pretty straight-forward. There's a new
      test in t0061 to cover this explicitly, and I've also added
      a duplicate of the ENOENT test to ensure that we return the
      correct errno for this case.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      321fd823
  4. 24 10月, 2018 1 次提交
  5. 19 10月, 2018 8 次提交
    • J
      Fifth batch for 2.20 · c4df23f7
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c4df23f7
    • J
      Merge branch 'jt/cache-tree-allow-missing-object-in-partial-clone' · a08b1d62
      Junio C Hamano 提交于
      In a partial clone that will lazily be hydrated from the
      originating repository, we generally want to avoid "does this
      object exist (locally)?" on objects that we deliberately omitted
      when we created the clone.  The cache-tree codepath (which is used
      to write a tree object out of the index) however insisted that the
      object exists, even for paths that are outside of the partial
      checkout area.  The code has been updated to avoid such a check.
      
      * jt/cache-tree-allow-missing-object-in-partial-clone:
        cache-tree: skip some blob checks in partial clone
      a08b1d62
    • J
      Merge branch 'tb/filter-alternate-refs' · 465e73ff
      Junio C Hamano 提交于
      When pushing into a repository that borrows its objects from an
      alternate object store, "git receive-pack" that responds to the
      push request on the other side lists the tips of refs in the
      alternate to reduce the amount of objects transferred.  This
      sometimes is detrimental when the number of refs in the alternate
      is absurdly large, in which case the bandwidth saved in potentially
      fewer objects transferred is wasted in excessively large ref
      advertisement.  The alternate refs that are advertised are now
      configurable with a pair of configuration variables.
      
      * tb/filter-alternate-refs:
        transport.c: introduce core.alternateRefsPrefixes
        transport.c: introduce core.alternateRefsCommand
        transport.c: extract 'fill_alternate_refs_command'
        transport: drop refnames from for_each_alternate_ref
      465e73ff
    • J
      Merge branch 'jt/avoid-ls-refs' · 0527fbab
      Junio C Hamano 提交于
      Over some transports, fetching objects with an exact commit object
      name can be done without first seeing the ref advertisements.  The
      code has been optimized to exploit this.
      
      * jt/avoid-ls-refs:
        fetch: do not list refs if fetching only hashes
        transport: list refs before fetch if necessary
        transport: do not list refs if possible
        transport: allow skipping of ref listing
      0527fbab
    • J
      Merge branch 'ds/commit-graph-leakfix' · d4cd2dd2
      Junio C Hamano 提交于
      Code clean-up.
      
      * ds/commit-graph-leakfix:
        commit-graph: reduce initial oid allocation
        builtin/commit-graph.c: UNLEAK variables
        commit-graph: clean up leaked memory during write
      d4cd2dd2
    • J
      Merge branch 'jt/non-blob-lazy-fetch' · fa54cccf
      Junio C Hamano 提交于
      A partial clone that is configured to lazily fetch missing objects
      will on-demand issue a "git fetch" request to the originating
      repository to fill not-yet-obtained objects.  The request has been
      optimized for requesting a tree object (and not the leaf blob
      objects contained in it) by telling the originating repository that
      no blobs are needed.
      
      * jt/non-blob-lazy-fetch:
        fetch-pack: exclude blobs when lazy-fetching trees
        fetch-pack: avoid object flags if no_dependents
      fa54cccf
    • J
      Merge branch 'pw/diff-color-moved-ws-fix' · 2916cfe8
      Junio C Hamano 提交于
      Various fixes to "diff --color-moved-ws".
      
      * pw/diff-color-moved-ws-fix:
        diff --color-moved: fix a memory leak
        diff --color-moved-ws: fix another memory leak
        diff --color-moved-ws: fix a memory leak
        diff --color-moved-ws: fix out of bounds string access
        diff --color-moved-ws: fix double free crash
      2916cfe8
    • J
      Merge branch 'rs/oidset-on-khash' · 82d0a8c0
      Junio C Hamano 提交于
      The oidset API was built on top of the oidmap API which in turn is
      on the hashmap API.  Replace the implementation to build on top of
      the khash API and gain performance.
      
      * rs/oidset-on-khash:
        oidset: uninline oidset_init()
        oidset: use khash
        khash: factor out kh_release_*
        fetch-pack: load tip_oids eagerly iff needed
        fetch-pack: factor out is_unmatched_ref()
      82d0a8c0