1. 19 7月, 2018 27 次提交
    • J
      add core.usereplacerefs config option · da4398d6
      Jeff King 提交于
      We can already disable replace refs using a command line
      option or environment variable, but those are awkward to
      apply universally. Let's add a config option to do the same
      thing.
      
      That raises the question of why one might want to do so
      universally. The answer is that replace refs violate the
      immutability of objects. For instance, if you wanted to
      cache the diff between commit XYZ and its parent, then in
      theory that never changes; the hash XYZ represents the total
      state. But replace refs violate that; pushing up a new ref
      may create a completely new diff.
      
      The obvious "if it hurts, don't do it" answer is not to
      create replace refs if you're doing this kind of caching.
      But for a site hosting arbitrary repositories, they may want
      to allow users to share replace refs with each other, but
      not actually respect them on the site (because the caching
      is more important than the replace feature).
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      da4398d6
    • J
      check_replace_refs: rename to read_replace_refs · 6ebd1caf
      Jeff King 提交于
      This was added as a NEEDSWORK in c3c36d7d (replace-object:
      check_replace_refs is safe in multi repo environment, 2018-04-11),
      waiting for a calmer period. Since doing so now doesn't conflict
      with anything in 'pu', it seems as good a time as any.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6ebd1caf
    • J
      check_replace_refs: fix outdated comment · 72470aa3
      Jeff King 提交于
      Commit afc711b8 (rename read_replace_refs to
      check_replace_refs, 2014-02-18) added a comment mentioning
      that check_replace_refs is set in two ways:
      
        - from user intent via --no-replace-objects, etc
      
        - after seeing there are no replace refs to respect
      
      Since c3c36d7d (replace-object: check_replace_refs is safe
      in multi repo environment, 2018-04-11) the second is no
      longer true. Let's drop that part of the comment.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      72470aa3
    • J
      Third batch for 2.19 cycle · b7bd9486
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b7bd9486
    • J
      Merge branch 'js/enhanced-version-info' · 5571d085
      Junio C Hamano 提交于
      Build fix.
      
      * js/enhanced-version-info:
        Makefile: fix the "built from commit" code
      5571d085
    • J
      Merge branch 'sb/mailmap' · bedb9145
      Junio C Hamano 提交于
      * sb/mailmap:
        .mailmap: merge different spellings of names
      bedb9145
    • J
      Merge branch 'ms/core-icase-doc' · 18f27175
      Junio C Hamano 提交于
      Clarify that setting core.ignoreCase to deviate from reality would
      not turn a case-incapable filesystem into a case-capable one.
      
      * ms/core-icase-doc:
        Documentation: declare "core.ignoreCase" as internal variable
      18f27175
    • J
      Merge branch 'ds/commit-graph' · 06994ae0
      Junio C Hamano 提交于
      Docfix.
      
      * ds/commit-graph:
        commit-graph: fix documentation inconsistencies
      06994ae0
    • J
      Merge branch 'tz/exclude-doc-smallfixes' · 3c5b6ee9
      Junio C Hamano 提交于
      Doc updates.
      
      * tz/exclude-doc-smallfixes:
        dir.c: fix typos in core.excludesfile comment
        gitignore.txt: clarify default core.excludesfile path
      3c5b6ee9
    • J
      Merge branch 'js/rebase-recreate-merge' · 2f826b06
      Junio C Hamano 提交于
      Docfix.
      
      * js/rebase-recreate-merge:
        rebase: fix documentation formatting
      2f826b06
    • J
      Merge branch 'en/rebase-i-microfixes' · b345b77b
      Junio C Hamano 提交于
      * en/rebase-i-microfixes:
        git-rebase--merge: modernize "git-$cmd" to "git $cmd"
        Fix use of strategy options with interactive rebases
        t3418: add testcase showing problems with rebase -i and strategy options
      b345b77b
    • J
      Merge branch 'mb/filter-branch-optim' · 676c7e50
      Junio C Hamano 提交于
      "git filter-branch" when used with the "--state-branch" option
      still attempted to rewrite the commits whose filtered result is
      known from the previous attempt (which is recorded on the state
      branch); the command has been corrected not to waste cycles doing
      so.
      
      * mb/filter-branch-optim:
        filter-branch: skip commits present on --state-branch
      676c7e50
    • J
      Merge branch 'dj/runtime-prefix' · 36b37afd
      Junio C Hamano 提交于
      POSIX portability fix in Makefile to fix a glitch introduced a few
      releases ago.
      
      * dj/runtime-prefix:
        Makefile: tweak sed invocation
      36b37afd
    • J
      Merge branch 'ao/config-from-gitmodules' · b9632c9d
      Junio C Hamano 提交于
      Tighten the API to make it harder to misuse in-tree .gitmodules
      file, even though it shares the same syntax with configuration
      files, to read random configuration items from it.
      
      * ao/config-from-gitmodules:
        submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
        submodule-config: pass repository as argument to config_from_gitmodules
        submodule-config: make 'config_from_gitmodules' private
        submodule-config: add helper to get 'update-clone' config from .gitmodules
        submodule-config: add helper function to get 'fetch' config from .gitmodules
        config: move config_from_gitmodules to submodule-config.c
      b9632c9d
    • J
      Merge branch 'jk/branch-l-0-deprecation' · d18602f4
      Junio C Hamano 提交于
      The "-l" option in "git branch -l" is an unfortunate short-hand for
      "--create-reflog", but many users, both old and new, somehow expect
      it to be something else, perhaps "--list".  This step warns when "-l"
      is used as a short-hand for "--create-reflog" and warns about the
      future repurposing of the it when it is used.
      
      * jk/branch-l-0-deprecation:
        branch: deprecate "-l" option
        t: switch "branch -l" to "branch --create-reflog"
        t3200: unset core.logallrefupdates when testing reflog creation
      d18602f4
    • J
      Merge branch 'tb/grep-column' · d036d667
      Junio C Hamano 提交于
      "git grep" learned the "--column" option that gives not just the
      line number but the column number of the hit.
      
      * tb/grep-column:
        contrib/git-jump/git-jump: jump to exact location
        grep.c: add configuration variables to show matched option
        builtin/grep.c: add '--column' option to 'git-grep(1)'
        grep.c: display column number of first match
        grep.[ch]: extend grep_opt to allow showing matched column
        grep.c: expose {,inverted} match column in match_line()
        Documentation/config.txt: camel-case lineNumber for consistency
      d036d667
    • J
      Merge branch 'vs/typofixes' · eb905635
      Junio C Hamano 提交于
      Doc fix.
      
      * vs/typofixes:
        Documentation: spelling and grammar fixes
      eb905635
    • J
      Merge branch 'bw/protocol-v2' · 5e6140e7
      Junio C Hamano 提交于
      Doc fix.
      
      * bw/protocol-v2:
        protocol-v2 doc: put HTTP headers after request
      5e6140e7
    • J
      Merge branch 'jt/remove-pack-bitmap-global' · ad7b8a7c
      Junio C Hamano 提交于
      The effort to move globals to per-repository in-core structure
      continues.
      
      * jt/remove-pack-bitmap-global:
        pack-bitmap: add free function
        pack-bitmap: remove bitmap_git global variable
      ad7b8a7c
    • J
      Merge branch 'bw/config-refer-to-gitsubmodules-doc' · a4d4427b
      Junio C Hamano 提交于
      Docfix.
      
      * bw/config-refer-to-gitsubmodules-doc:
        docs: link to gitsubmodules
      a4d4427b
    • J
      Merge branch 'xy/format-patch-prereq-patch-id-fix' · 2516b471
      Junio C Hamano 提交于
      Recently added "--base" option to "git format-patch" command did
      not correctly generate prereq patch ids.
      
      * xy/format-patch-prereq-patch-id-fix:
        format-patch: clear UNINTERESTING flag before prepare_bases
      2516b471
    • J
      Merge branch 'pw/rebase-i-keep-reword-after-conflict' · d349e188
      Junio C Hamano 提交于
      Bugfix for "rebase -i" corner case regression.
      
      * pw/rebase-i-keep-reword-after-conflict:
        sequencer: do not squash 'reword' commits when we hit conflicts
      d349e188
    • J
      Merge branch 'ld/p423' · 6dcd3647
      Junio C Hamano 提交于
      Code preparation to make "git p4" closer to be usable with Python 3.
      
      * ld/p423:
        git-p4: python3: fix octal constants
        git-p4: python3: use print() function
        git-p4: python3: basestring workaround
        git-p4: python3: remove backticks
        git-p4: python3: replace dict.has_key(k) with "k in dict"
        git-p4: python3: replace <> with !=
      6dcd3647
    • J
      Merge branch 'ds/ewah-cleanup' · 5d459c0c
      Junio C Hamano 提交于
      Remove unused function definitions and declarations from ewah
      bitmap subsystem.
      
      * ds/ewah-cleanup:
        ewah: delete unused 'rlwit_discharge_empty()'
        ewah: drop ewah_serialize_native function
        ewah: drop ewah_deserialize function
        ewah_io: delete unused 'ewah_serialize()'
        ewah_bitmap: delete unused 'ewah_or()'
        ewah_bitmap: delete unused 'ewah_not()'
        ewah_bitmap: delete unused 'ewah_and_not()'
        ewah_bitmap: delete unused 'ewah_and()'
        ewah/bitmap.c: delete unused 'bitmap_each_bit()'
        ewah/bitmap.c: delete unused 'bitmap_clear()'
      5d459c0c
    • J
      Merge branch 'sb/submodule-core-worktree' · 7e25437d
      Junio C Hamano 提交于
      "git submodule" did not correctly adjust core.worktree setting that
      indicates whether/where a submodule repository has its associated
      working tree across various state transitions, which has been
      corrected.
      
      * sb/submodule-core-worktree:
        submodule deinit: unset core.worktree
        submodule: ensure core.worktree is set after update
        submodule: unset core.worktree if no working tree is present
      7e25437d
    • J
      Merge branch 'sb/object-store-grafts' · 00624d60
      Junio C Hamano 提交于
      The conversion to pass "the_repository" and then "a_repository"
      throughout the object access API continues.
      
      * sb/object-store-grafts:
        commit: allow lookup_commit_graft to handle arbitrary repositories
        commit: allow prepare_commit_graft to handle arbitrary repositories
        shallow: migrate shallow information into the object parser
        path.c: migrate global git_path_* to take a repository argument
        cache: convert get_graft_file to handle arbitrary repositories
        commit: convert read_graft_file to handle arbitrary repositories
        commit: convert register_commit_graft to handle arbitrary repositories
        commit: convert commit_graft_pos() to handle arbitrary repositories
        shallow: add repository argument to is_repository_shallow
        shallow: add repository argument to check_shallow_file_for_update
        shallow: add repository argument to register_shallow
        shallow: add repository argument to set_alternate_shallow_file
        commit: add repository argument to lookup_commit_graft
        commit: add repository argument to prepare_commit_graft
        commit: add repository argument to read_graft_file
        commit: add repository argument to register_commit_graft
        commit: add repository argument to commit_graft_pos
        object: move grafts to object parser
        object-store: move object access functions to object-store.h
      00624d60
    • J
      Merge branch 'en/merge-recursive-cleanup' · 473b8bb3
      Junio C Hamano 提交于
      Code cleanup.
      
      * en/merge-recursive-cleanup:
        merge-recursive: add pointer about unduly complex looking code
        merge-recursive: rename conflict_rename_*() family of functions
        merge-recursive: clarify the rename_dir/RENAME_DIR meaning
        merge-recursive: align labels with their respective code blocks
        merge-recursive: fix numerous argument alignment issues
        merge-recursive: fix miscellaneous grammar error in comment
      473b8bb3
  2. 30 6月, 2018 2 次提交
    • S
      .mailmap: merge different spellings of names · 88a8ecae
      Stefan Beller 提交于
      This is a continuation of 94b410bb (.mailmap: Map email
      addresses to names, 2013-07-12), merging names that are
      spelled differently but have the same author email to the
      same person.
      
      Most spellings differed in accents or the order of names.
      Signed-off-by: NStefan Beller <sbeller@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      88a8ecae
    • J
      Makefile: fix the "built from commit" code · 5cf8e064
      Johannes Schindelin 提交于
      In ed32b788 (version --build-options: report commit, too, if
      possible, 2017-12-15), we introduced code to let `git version
      --build-options` report the current commit from which the binaries were
      built, if any.
      
      To prevent erroneous commits from being reported (e.g. when unpacking
      Git's source code from a .tar.gz file into a subdirectory of a different
      Git project, as e.g. git_osx_installer does), we painstakingly set
      GIT_CEILING_DIRECTORIES when trying to determine the current commit.
      
      Except that we got the quoting wrong, and that variable therefore does
      not have the desired effect.
      
      The issue is that the $(shell) is resolved before the output is stuffed
      into the command-line with -DGIT_BUILT_FROM_COMMIT, and therefore is
      *not* inside quotes. And thus backslashing the quotes is wrong, as the
      quote gets literally inserted into the CEILING_DIRECTORIES variable.
      
      Let's fix that quoting, and while at it, also suppress the unhelpful
      message
      
      fatal: not a git repository (or any of the parent directories): .git
      
      that gets printed to stderr if no current commit could be determined,
      and might scare the occasional developer who simply tries to build Git
      from scratch.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Helped-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5cf8e064
  3. 29 6月, 2018 11 次提交
    • J
      Second batch for 2.19 cycle · e3331758
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e3331758
    • J
      Merge branch 'sb/fix-fetching-moved-submodules' · 085d2abf
      Junio C Hamano 提交于
      The code to try seeing if a fetch is necessary in a submodule
      during a fetch with --recurse-submodules got confused when the path
      to the submodule was changed in the range of commits in the
      superproject, sometimes showing "(null)".  This has been corrected.
      
      * sb/fix-fetching-moved-submodules:
        t5526: test recursive submodules when fetching moved submodules
        submodule: fix NULL correctness in renamed broken submodules
      085d2abf
    • J
      Merge branch 'tz/cred-netrc-cleanup' · cf22247b
      Junio C Hamano 提交于
      Build and test procedure for netrc credential helper (in contrib/)
      has been updated.
      
      * tz/cred-netrc-cleanup:
        git-credential-netrc: make "all" default target of Makefile
        git-credential-netrc: fix exit status when tests fail
        git-credential-netrc: use in-tree Git.pm for tests
        git-credential-netrc: minor whitespace cleanup in test script
      cf22247b
    • J
      Merge branch 'jc/clean-after-sanity-tests' · 18404434
      Junio C Hamano 提交于
      test cleanup.
      
      * jc/clean-after-sanity-tests:
        tests: clean after SANITY tests
      18404434
    • J
      Merge branch 'nd/completion-negation' · 6da2d959
      Junio C Hamano 提交于
      Continuing with the idea to programmatically enumerate various
      pieces of data required for command line completion, the codebase
      has been taught to enumerate options prefixed with "--no-" to
      negate them.
      
      * nd/completion-negation:
        completion: collapse extra --no-.. options
        completion: suppress some -no- options
        parse-options: option to let --git-completion-helper show negative form
      6da2d959
    • J
      Merge branch 'pw/add-p-recount' · 5eb8da85
      Junio C Hamano 提交于
      When user edits the patch in "git add -p" and the user's editor is
      set to strip trailing whitespaces indiscriminately, an empty line
      that is unchanged in the patch would become completely empty
      (instead of a line with a sole SP on it).  The code introduced in
      Git 2.17 timeframe failed to parse such a patch, but now it learned
      to notice the situation and cope with it.
      
      * pw/add-p-recount:
        add -p: fix counting empty context lines in edited patches
      5eb8da85
    • J
      Merge branch 'jk/fetch-all-peeled-fix' · 0079732e
      Junio C Hamano 提交于
      "git fetch-pack --all" used to unnecessarily fail upon seeing an
      annotated tag that points at an object other than a commit.
      
      * jk/fetch-all-peeled-fix:
        fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits
        fetch-pack: don't try to fetch peel values with --all
      0079732e
    • J
      Merge branch 'ms/send-pack-honor-config' · 8d3661d5
      Junio C Hamano 提交于
      "git send-pack --signed" (hence "git push --signed" over the http
      transport) did not read user ident from the config mechanism to
      determine whom to sign the push certificate as, which has been
      corrected.
      
      * ms/send-pack-honor-config:
        builtin/send-pack: populate the default configs
      8d3661d5
    • J
      Merge branch 'jh/partial-clone' · 92e1bbc3
      Junio C Hamano 提交于
      The recent addition of "partial clone" experimental feature kicked
      in when it shouldn't, namely, when there is no partial-clone filter
      defined even if extensions.partialclone is set.
      
      * jh/partial-clone:
        list-objects: check if filter is NULL before using
      92e1bbc3
    • J
      Merge branch 'sg/gpg-tests-fix' · 078f3dc0
      Junio C Hamano 提交于
      Some flaky tests have been fixed.
      
      * sg/gpg-tests-fix:
        tests: make forging GPG signed commits and tags more robust
        t7510-signed-commit: use 'test_must_fail'
      078f3dc0
    • J
      Merge branch 'as/safecrlf-quiet-fix' · 8063ff9c
      Junio C Hamano 提交于
      Fix for 2.17-era regression around `core.safecrlf`.
      
      * as/safecrlf-quiet-fix:
        config.c: fix regression for core.safecrlf false
      8063ff9c