1. 19 10月, 2018 7 次提交
    • J
      Merge branch 'jt/fetch-tips-in-partial-clone' · a1e9dff1
      Junio C Hamano 提交于
      "git fetch $repo $object" in a partial clone did not correctly
      fetch the asked-for object that is referenced by an object in
      promisor packfile, which has been fixed.
      
      * jt/fetch-tips-in-partial-clone:
        fetch: in partial clone, check presence of targets
        connected: document connectivity in partial clones
      a1e9dff1
    • J
      Merge branch 'nd/status-refresh-progress' · 4d87b38e
      Junio C Hamano 提交于
      "git status" learns to show progress bar when refreshing the index
      takes a long time.
      
      * nd/status-refresh-progress:
        status: show progress bar if refreshing the index takes too long
      4d87b38e
    • J
      Merge branch 'bp/read-cache-parallel' · e27bfaae
      Junio C Hamano 提交于
      A new extension to the index file has been introduced, which allows
      the file to be read in parallel.
      
      * bp/read-cache-parallel:
        read-cache: load cache entries on worker threads
        ieot: add Index Entry Offset Table (IEOT) extension
        read-cache: load cache extensions on a worker thread
        config: add new index.threads config setting
        eoie: add End of Index Entry (EOIE) extension
        read-cache: clean up casting and byte decoding
        read-cache.c: optimize reading index format v4
      e27bfaae
    • J
      Merge branch 'bp/rename-test-env-var' · 340fde61
      Junio C Hamano 提交于
      Some environment variables that control the runtime options of Git
      used during tests are getting renamed for consistency.
      
      * bp/rename-test-env-var:
        t0000: do not get self-test disrupted by environment warnings
        preload-index: update GIT_FORCE_PRELOAD_TEST support
        read-cache: update TEST_GIT_INDEX_VERSION support
        fsmonitor: update GIT_TEST_FSMONITOR support
        preload-index: use git_env_bool() not getenv() for customization
        t/README: correct spelling of "uncommon"
      340fde61
    • J
      Merge branch 'ss/wt-status-committable' · 929e85ad
      Junio C Hamano 提交于
      Code clean-up in the internal machinery used by "git status" and
      "git commit --dry-run".
      
      * ss/wt-status-committable:
        roll wt_status_state into wt_status and populate in the collect phase
        wt-status.c: set the committable flag in the collect phase
        t7501: add test of "commit --dry-run --short"
        wt-status: rename commitable to committable
        wt-status.c: move has_unmerged earlier in the file
      929e85ad
    • J
      Merge branch 'nd/the-index' · 11877b9e
      Junio C Hamano 提交于
      Various codepaths in the core-ish part learn to work on an
      arbitrary in-core index structure, not necessarily the default
      instance "the_index".
      
      * nd/the-index: (23 commits)
        revision.c: reduce implicit dependency the_repository
        revision.c: remove implicit dependency on the_index
        ws.c: remove implicit dependency on the_index
        tree-diff.c: remove implicit dependency on the_index
        submodule.c: remove implicit dependency on the_index
        line-range.c: remove implicit dependency on the_index
        userdiff.c: remove implicit dependency on the_index
        rerere.c: remove implicit dependency on the_index
        sha1-file.c: remove implicit dependency on the_index
        patch-ids.c: remove implicit dependency on the_index
        merge.c: remove implicit dependency on the_index
        merge-blobs.c: remove implicit dependency on the_index
        ll-merge.c: remove implicit dependency on the_index
        diff-lib.c: remove implicit dependency on the_index
        read-cache.c: remove implicit dependency on the_index
        diff.c: remove implicit dependency on the_index
        grep.c: remove implicit dependency on the_index
        diff.c: remove the_index dependency in textconv() functions
        blame.c: rename "repo" argument to "r"
        combine-diff.c: remove implicit dependency on the_index
        ...
      11877b9e
    • J
      Merge branch 'nd/complete-fetch-multiple-args' · aef8e71f
      Junio C Hamano 提交于
      Teach bash completion that "git fetch --multiple" only takes remote
      names as arguments and no refspecs.
      
      * nd/complete-fetch-multiple-args:
        completion: support "git fetch --multiple"
      aef8e71f
  2. 16 10月, 2018 29 次提交
    • J
      Fourth batch for 2.20 · a4b8ab53
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      a4b8ab53
    • J
      Merge branch 'sf/complete-stash-list' · 47e1fb12
      Junio C Hamano 提交于
      The completion script (in contrib/) learned to complete a handful of
      options "git stash list" command takes.
      
      * sf/complete-stash-list:
        git-completion.bash: add completion for stash list
      47e1fb12
    • J
      Merge branch 'mw/doc-typofixes' · 65f1b1bd
      Junio C Hamano 提交于
      Typofixes.
      
      * mw/doc-typofixes:
        docs: typo: s/isimilar/similar/
        docs: graph: remove unnecessary `graph_update()' call
        docs: typo: s/go/to/
      65f1b1bd
    • J
      Merge branch 'js/mingw-wants-vista-or-above' · 29cce957
      Junio C Hamano 提交于
      The minimum version of Windows supported by Windows port fo Git is
      now set to Vista.
      
      * js/mingw-wants-vista-or-above:
        mingw: bump the minimum Windows version to Vista
        mingw: set _WIN32_WINNT explicitly for Git for Windows
        compat/poll: prepare for targeting Windows Vista
      29cce957
    • J
      Merge branch 'rs/sequencer-oidset-insert-avoids-dups' · 488e2e8f
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/sequencer-oidset-insert-avoids-dups:
        sequencer: use return value of oidset_insert()
      488e2e8f
    • J
      Merge branch 'jk/oideq-hasheq-cleanup' · ee56992a
      Junio C Hamano 提交于
      Code clean-up.
      
      * jk/oideq-hasheq-cleanup:
        more oideq/hasheq conversions
      ee56992a
    • J
      Merge branch 'ma/mailing-list-address-in-git-help' · 20f28d7c
      Junio C Hamano 提交于
      Doc update.
      
      * ma/mailing-list-address-in-git-help:
        git doc: direct bug reporters to mailing list archive
      20f28d7c
    • J
      Merge branch 'nd/packobjectshook-doc-fix' · a3c2e2f3
      Junio C Hamano 提交于
      Doc update.
      
      * nd/packobjectshook-doc-fix:
        config.txt: correct the note about uploadpack.packObjectsHook
      a3c2e2f3
    • J
      Merge branch 'rt/rebase-typofix' · c63c2ff8
      Junio C Hamano 提交于
      Typofix.
      
      * rt/rebase-typofix:
        git-rebase.sh: fix typos in error messages
      c63c2ff8
    • J
      Merge branch 'ma/t1400-undebug-test' · 0e645003
      Junio C Hamano 提交于
      Test fix.
      
      * ma/t1400-undebug-test:
        t1400: drop debug `echo` to actually execute `test`
      0e645003
    • J
      Merge branch 'ma/commit-graph-docs' · 9a40ffd7
      Junio C Hamano 提交于
      Doc update.
      
      * ma/commit-graph-docs:
        Doc: refer to the "commit-graph file" with dash
        git-commit-graph.txt: refer to "*commit*-graph file"
        git-commit-graph.txt: typeset more in monospace
        git-commit-graph.txt: fix bullet lists
      9a40ffd7
    • J
      Merge branch 'dz/credential-doc-url-matching-rules' · 3c8bf8cc
      Junio C Hamano 提交于
      Doc update.
      
      * dz/credential-doc-url-matching-rules:
        doc: clarify gitcredentials path component matching
      3c8bf8cc
    • J
      Merge branch 'en/status-multiple-renames-to-the-same-target-fix' · 98f3f007
      Junio C Hamano 提交于
      The code in "git status" sometimes hit an assertion failure.  This
      was caused by a structure that was reused without cleaning the data
      used for the first run, which has been corrected.
      
      * en/status-multiple-renames-to-the-same-target-fix:
        commit: fix erroneous BUG, 'multiple renames on the same target? how?'
      98f3f007
    • J
      Merge branch 'ds/reachable-final-cleanup' · e366d0c6
      Junio C Hamano 提交于
      Code already in 'master' is further cleaned-up by this patch.
      
      * ds/reachable-final-cleanup:
        commit-reach: cleanups in can_all_from_reach...
      e366d0c6
    • J
      Merge branch 'jk/check-everything-connected-is-long-gone' · 20e0ef6a
      Junio C Hamano 提交于
      Comment fix.
      
      * jk/check-everything-connected-is-long-gone:
        receive-pack: update comment with check_everything_connected
      20e0ef6a
    • J
      Merge branch 'jn/gc-auto' · 993fa562
      Junio C Hamano 提交于
      "gc --auto" ended up calling exit(-1) upon error, which has been
      corrected to use exit(1).  Also the error reporting behaviour when
      daemonized has been updated to exit with zero status when stopping
      due to a previously discovered error (which implies there is no
      point running gc to improve the situation); we used to exit with
      failure in such a case.
      
      * jn/gc-auto:
        gc: do not return error for prior errors in daemonized mode
      993fa562
    • J
      Merge branch 'jn/gc-auto-prep' · 99913dd1
      Junio C Hamano 提交于
      Code clean-up.
      
      * jn/gc-auto-prep:
        gc: exit with status 128 on failure
        gc: improve handling of errors reading gc.log
      99913dd1
    • J
      Merge branch 'md/test-cleanup' · f2e2136a
      Junio C Hamano 提交于
      Various test scripts have been updated for style and also correct
      handling of exit status of various commands.
      
      * md/test-cleanup:
        tests: order arguments to git-rev-list properly
        t9109: don't swallow Git errors upstream of pipes
        tests: don't swallow Git errors upstream of pipes
        t/*: fix ordering of expected/observed arguments
        tests: standardize pipe placement
        Documentation: add shell guidelines
        t/README: reformat Do, Don't, Keep in mind lists
      f2e2136a
    • J
      Merge branch 'fe/doc-updates' · fb468f0b
      Junio C Hamano 提交于
      Doc updates.
      
      * fe/doc-updates:
        git-describe.1: clarify that "human readable" is also git-readable
        git-column.1: clarify initial description, provide examples
        git-archimport.1: specify what kind of Arch we're talking about
      fb468f0b
    • J
      Merge branch 'jn/mailmap-update' · 3d560562
      Junio C Hamano 提交于
      The mailmap file update.
      
      * jn/mailmap-update:
        mailmap: consistently normalize brian m. carlson's name
      3d560562
    • J
      Merge branch 'tg/t5551-with-curl-7.61.1' · 52472c20
      Junio C Hamano 提交于
      Test update.
      
      * tg/t5551-with-curl-7.61.1:
        t5551: compare sorted cookies files
        t5551: move setup code inside test_expect blocks
      52472c20
    • J
      Merge branch 'en/merge-cleanup' · 74bb4635
      Junio C Hamano 提交于
      Code clean-up.
      
      * en/merge-cleanup:
        merge-recursive: rename merge_file_1() and merge_content()
        merge-recursive: remove final remaining caller of merge_file_one()
        merge-recursive: avoid wrapper function when unnecessary and wasteful
        merge-recursive: set paths correctly when three-way merging content
      74bb4635
    • J
      Merge branch 'rj/header-check' · ff6bbce6
      Junio C Hamano 提交于
      Header files clean-up.
      
      * rj/header-check:
        delta-islands.h: add missing forward declarations (hdr-check)
        midx.h: add missing forward declarations (hdr-check)
        refs/refs-internal.h: add missing declarations (hdr-check)
        refs/packed-backend.h: add missing declaration (hdr-check)
        refs/ref-cache.h: add missing declarations (hdr-check)
        ewah/ewok_rlw.h: add missing include (hdr-check)
        json-writer.h: add missing include (hdr-check)
        Makefile: add a hdr-check target
      ff6bbce6
    • J
      Merge branch 'ma/config-doc-update' · 7a3335db
      Junio C Hamano 提交于
      Doc update.
      
      * ma/config-doc-update:
        git-config.txt: fix 'see: above' note
        Doc: use `--type=bool` instead of `--bool`
      7a3335db
    • J
      Merge branch 'jk/delta-islands-with-bitmap-reuse-delta-fix' · 73b9c6f5
      Junio C Hamano 提交于
      Fix interactions between two recent topics.
      
      * jk/delta-islands-with-bitmap-reuse-delta-fix:
        pack-objects: handle island check for "external" delta base
      73b9c6f5
    • J
      Merge branch 'tq/refs-internal-comment-fix' · eea5e03a
      Junio C Hamano 提交于
      Fix for typo in a sample code in comment.
      
      * tq/refs-internal-comment-fix:
        refs: docstring typo
      eea5e03a
    • J
      Merge branch 'ts/alias-of-alias' · 506ee60d
      Junio C Hamano 提交于
      An alias that expands to another alias has so far been forbidden,
      but now it is allowed to create such an alias.
      
      * ts/alias-of-alias:
        t0014: introduce an alias testing suite
        alias: show the call history when an alias is looping
        alias: add support for aliases of an alias
      506ee60d
    • J
      Merge branch 'ds/commit-graph-with-grafts' · 6d8f8ebb
      Junio C Hamano 提交于
      The recently introduced commit-graph auxiliary data is incompatible
      with mechanisms such as replace & grafts that "breaks" immutable
      nature of the object reference relationship.  Disable optimizations
      based on its use (and updating existing commit-graph) when these
      incompatible features are in use in the repository.
      
      * ds/commit-graph-with-grafts:
        commit-graph: close_commit_graph before shallow walk
        commit-graph: not compatible with uninitialized repo
        commit-graph: not compatible with grafts
        commit-graph: not compatible with replace objects
        test-repository: properly init repo
        commit-graph: update design document
        refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
        refs.c: migrate internal ref iteration to pass thru repository argument
      6d8f8ebb
    • J
      Merge branch 'ab/commit-graph-progress' · 36d767d0
      Junio C Hamano 提交于
      Generation of (experimental) commit-graph files have so far been
      fairly silent, even though it takes noticeable amount of time in a
      meaningfully large repository.  The users will now see progress
      output.
      
      * ab/commit-graph-progress:
        gc: fix regression in 7b0f2292 impacting --quiet
        commit-graph verify: add progress output
        commit-graph write: add progress output
      36d767d0
  3. 11 10月, 2018 4 次提交
    • B
      read-cache: load cache entries on worker threads · 77ff1127
      Ben Peart 提交于
      This patch helps address the CPU cost of loading the index by utilizing
      the Index Entry Offset Table (IEOT) to divide loading and conversion of
      the cache entries across multiple threads in parallel.
      
      I used p0002-read-cache.sh to generate some performance data:
      
      Test w/100,000 files reduced the time by 32.24%
      Test w/1,000,000 files reduced the time by -4.77%
      
      Note that on the 1,000,000 files case, multi-threading the cache entry parsing
      does not yield a performance win.  This is because the cost to parse the
      index extensions in this repo, far outweigh the cost of loading the cache
      entries.
      
      The high cost of parsing the index extensions is driven by the cache tree
      and the untracked cache extensions. As this is currently the longest pole,
      any reduction in this time will reduce the overall index load times so is
      worth further investigation in another patch series.
      Signed-off-by: NBen Peart <benpeart@microsoft.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      77ff1127
    • B
      ieot: add Index Entry Offset Table (IEOT) extension · 3255089a
      Ben Peart 提交于
      This patch enables addressing the CPU cost of loading the index by adding
      additional data to the index that will allow us to efficiently multi-
      thread the loading and conversion of cache entries.
      
      It accomplishes this by adding an (optional) index extension that is a
      table of offsets to blocks of cache entries in the index file.  To make
      this work for V4 indexes, when writing the cache entries, it periodically
      "resets" the prefix-compression by encoding the current entry as if the
      path name for the previous entry is completely different and saves the
      offset of that entry in the IEOT.  Basically, with V4 indexes, it
      generates offsets into blocks of prefix-compressed entries.
      Signed-off-by: NBen Peart <benpeart@microsoft.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3255089a
    • B
      read-cache: load cache extensions on a worker thread · abb4bb83
      Ben Peart 提交于
      This patch helps address the CPU cost of loading the index by loading
      the cache extensions on a worker thread in parallel with loading the cache
      entries.
      
      In some cases, loading the extensions takes longer than loading the
      cache entries so this patch utilizes the new EOIE to start the thread to
      load the extensions before loading all the cache entries in parallel.
      
      This is possible because the current extensions don't access the cache
      entries in the index_state structure so are OK that they don't all exist
      yet.
      
      The CACHE_EXT_TREE, CACHE_EXT_RESOLVE_UNDO, and CACHE_EXT_UNTRACKED
      extensions don't even get a pointer to the index so don't have access to the
      cache entries.
      
      CACHE_EXT_LINK only uses the index_state to initialize the split index.
      CACHE_EXT_FSMONITOR only uses the index_state to save the fsmonitor last
      update and dirty flags.
      
      I used p0002-read-cache.sh to generate some performance data:
      
      	Test w/100,000 files reduced the time by 0.53%
      	Test w/1,000,000 files reduced the time by 27.78%
      Signed-off-by: NBen Peart <benpeart@microsoft.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      abb4bb83
    • B
      config: add new index.threads config setting · c780b9cf
      Ben Peart 提交于
      Add support for a new index.threads config setting which will be used to
      control the threading code in do_read_index().  A value of 0 will tell the
      index code to automatically determine the correct number of threads to use.
      A value of 1 will make the code single threaded.  A value greater than 1
      will set the maximum number of threads to use.
      
      For testing purposes, this setting can be overwritten by setting the
      GIT_TEST_INDEX_THREADS=<n> environment variable to a value greater than 0.
      Signed-off-by: NBen Peart <benpeart@microsoft.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c780b9cf