1. 28 3月, 2017 1 次提交
  2. 19 3月, 2017 1 次提交
  3. 18 3月, 2017 14 次提交
    • J
      Fifth batch for 2.13 · 9d77b040
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      9d77b040
    • J
      Merge branch 'jk/cherry-pick-0-mainline' · 9c966371
      Junio C Hamano 提交于
      "git revert -m 0 $merge_commit" complained that reverting a merge
      needs to say relative to which parent the reversion needs to
      happen, as if "-m 0" weren't given.  The correct diagnosis is that
      "-m 0" does not refer to the first parent ("-m 1" does).  This has
      been fixed.
      
      * jk/cherry-pick-0-mainline:
        cherry-pick: detect bogus arguments to --mainline
      9c966371
    • J
      Merge branch 'js/early-config' · a0393a29
      Junio C Hamano 提交于
      The start-up sequence of "git" needs to figure out some configured
      settings before it finds and set itself up in the location of the
      repository and was quite messy due to its "chicken-and-egg" nature.
      The code has been restructured.
      
      * js/early-config:
        setup.c: mention unresolved problems
        t1309: document cases where we would want early config not to die()
        setup_git_directory_gently_1(): avoid die()ing
        t1309: test read_early_config()
        read_early_config(): really discover .git/
        read_early_config(): avoid .git/config hack when unneeded
        setup: make read_early_config() reusable
        setup: introduce the discover_git_directory() function
        setup_git_directory_1(): avoid changing global state
        setup: prepare setup_discovered_git_dir() for the root directory
        setup_git_directory(): use is_dir_sep() helper
        t7006: replace dubious test
      a0393a29
    • J
      Merge branch 'bc/sha1-header-selection-with-cpp-macros' · 81944e9b
      Junio C Hamano 提交于
      Our source code has used the SHA1_HEADER cpp macro after "#include"
      in the C code to switch among the SHA-1 implementations. Instead,
      list the exact header file names and switch among implementations
      using "#ifdef BLK_SHA1/#include "block-sha1/sha1.h"/.../#endif";
      this helps some IDE tools.
      
      * bc/sha1-header-selection-with-cpp-macros:
        hash.h: move SHA-1 implementation selection into a header file
      81944e9b
    • J
      Merge branch 'mg/status-porcelain-no-i18n' · 58e97730
      Junio C Hamano 提交于
      "git status --porcelain" is supposed to give a stable output, but a
      few strings were left as translatable by mistake.
      
      * mg/status-porcelain-no-i18n:
        git-status: make porcelain more robust
      58e97730
    • J
      Merge branch 'jk/add-i-use-pathspecs' · 153e0d76
      Junio C Hamano 提交于
      "git add -p <pathspec>" unnecessarily expanded the pathspec to a
      list of individual files that matches the pathspec by running "git
      ls-files <pathspec>", before feeding it to "git diff-index" to see
      which paths have changes, because historically the pathspec
      language supported by "diff-index" was weaker.  These days they are
      equivalent and there is no reason to internally expand it.  This
      helps both performance and avoids command line argument limit on
      some platforms.
      
      * jk/add-i-use-pathspecs:
        add--interactive: do not expand pathspecs with ls-files
      153e0d76
    • J
      Merge branch 'jk/http-walker-buffer-underflow-fix' · 2af882be
      Junio C Hamano 提交于
      "Dumb http" transport used to misparse a nonsense http-alternates
      response, which has been fixed.
      
      * jk/http-walker-buffer-underflow-fix:
        http-walker: fix buffer underflow processing remote alternates
      2af882be
    • J
      Merge branch 'bw/attr-pathspec' · f6c64c64
      Junio C Hamano 提交于
      The pathspec mechanism learned to further limit the paths that
      match the pattern to those that have specified attributes attached
      via the gitattributes mechanism.
      
      * bw/attr-pathspec:
        pathspec: allow escaped query values
        pathspec: allow querying for attributes
      f6c64c64
    • J
      Merge branch 'jk/ref-filter-flags-cleanup' · 60cf6cd7
      Junio C Hamano 提交于
      "git tag --contains" used to (ab)use the object bits to keep track
      of the state of object reachability without clearing them after
      use; this has been cleaned up and made to use the newer commit-slab
      facility.
      
      * jk/ref-filter-flags-cleanup:
        ref-filter: use separate cache for contains_tag_algo
        ref-filter: die on parse_commit errors
        ref-filter: use contains_result enum consistently
        ref-filter: move ref_cbdata definition into ref-filter.c
      60cf6cd7
    • J
      Merge branch 'sb/rev-parse-show-superproject-root' · 3edcc048
      Junio C Hamano 提交于
      From a working tree of a repository, a new option of "rev-parse"
      lets you ask if the repository is used as a submodule of another
      project, and where the root level of the working tree of that
      project (i.e. your superproject) is.
      
      * sb/rev-parse-show-superproject-root:
        rev-parse: add --show-superproject-working-tree
      3edcc048
    • J
      Merge branch 'bc/object-id' · e1fae930
      Junio C Hamano 提交于
      "uchar [40]" to "struct object_id" conversion continues.
      
      * bc/object-id:
        wt-status: convert to struct object_id
        builtin/merge-base: convert to struct object_id
        Convert object iteration callbacks to struct object_id
        sha1_file: introduce an nth_packed_object_oid function
        refs: simplify parsing of reflog entries
        refs: convert each_reflog_ent_fn to struct object_id
        reflog-walk: convert struct reflog_info to struct object_id
        builtin/replace: convert to struct object_id
        Convert remaining callers of resolve_refdup to object_id
        builtin/merge: convert to struct object_id
        builtin/clone: convert to struct object_id
        builtin/branch: convert to struct object_id
        builtin/grep: convert to struct object_id
        builtin/fmt-merge-message: convert to struct object_id
        builtin/fast-export: convert to struct object_id
        builtin/describe: convert to struct object_id
        builtin/diff-tree: convert to struct object_id
        builtin/commit: convert to struct object_id
        hex: introduce parse_oid_hex
      e1fae930
    • J
      Merge branch 'rs/blame-code-cleanup' · 0a4ae91d
      Junio C Hamano 提交于
      Code clean-up.
      
      * rs/blame-code-cleanup:
        blame: move blame_entry duplication to add_blame_entry()
      0a4ae91d
    • J
      Merge branch 'jk/interop-test' · 0bb80ab0
      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
      0bb80ab0
    • J
      Merge branch 'cc/split-index-config' · 94c9b5af
      Junio C Hamano 提交于
      The experimental "split index" feature has gained a few
      configuration variables to make it easier to use.
      
      * cc/split-index-config: (22 commits)
        Documentation/git-update-index: explain splitIndex.*
        Documentation/config: add splitIndex.sharedIndexExpire
        read-cache: use freshen_shared_index() in read_index_from()
        read-cache: refactor read_index_from()
        t1700: test shared index file expiration
        read-cache: unlink old sharedindex files
        config: add git_config_get_expiry() from gc.c
        read-cache: touch shared index files when used
        sha1_file: make check_and_freshen_file() non static
        Documentation/config: add splitIndex.maxPercentChange
        t1700: add tests for splitIndex.maxPercentChange
        read-cache: regenerate shared index if necessary
        config: add git_config_get_max_percent_split_change()
        Documentation/git-update-index: talk about core.splitIndex config var
        Documentation/config: add information for core.splitIndex
        t1700: add tests for core.splitIndex
        update-index: warn in case of split-index incoherency
        read-cache: add and then use tweak_split_index()
        split-index: add {add,remove}_split_index() functions
        config: add git_config_get_split_index()
        ...
      94c9b5af
  4. 17 3月, 2017 11 次提交
  5. 16 3月, 2017 2 次提交
    • J
      cherry-pick: detect bogus arguments to --mainline · b16a991c
      Jeff King 提交于
      The cherry-pick and revert commands use OPT_INTEGER() to
      parse --mainline. The stock parser is smart enough to reject
      non-numeric nonsense, but it doesn't know that parent
      counting starts at 1.
      
      Worse, the value "0" is indistinguishable from the unset
      case, so a user who assumes the counting is 0-based will get
      a confusing message:
      
        $ git cherry-pick -m 0 $merge
        error: commit ... is a merge but no -m option was given.
      
      Let's use a custom callback that enforces our range.
      Signed-off-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b16a991c
    • B
      hash.h: move SHA-1 implementation selection into a header file · f18f816c
      brian m. carlson 提交于
      Many developers use functionality in their editors that allows for quick
      syntax checks, including warning about questionable constructs.  This
      functionality allows rapid development with fewer errors.  However, such
      functionality generally does not allow the specification of
      project-specific defines or command-line options.
      
      Since the SHA1_HEADER include is not defined in such a case,
      developers see spurious errors when using these tools.  Furthermore,
      there are known implementations of "cc" whose '#include' is unhappy
      with this construct.
      
      Instead of using SHA1_HEADER, create a hash.h header and use #if
      and #elif to select the desired header.  Have the Makefile pass an
      appropriate option to help the header select the right implementation to
      use.
      
      [jc: make BLK_SHA1 the fallback default as discussed on list,
      e.g. <20170314201424.vccij5z2ortq4a4o@sigill.intra.peff.net>; also
      remove SHA1_HEADER and SHA1_HEADER_SQ that are no longer used].
      Signed-off-by: Nbrian m. carlson <sandals@crustytoothpaste.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      Reviewed-by: NJeff King <peff@peff.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      f18f816c
  6. 15 3月, 2017 11 次提交
    • J
      Fourth batch after 2.12 · 4a9b9b32
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4a9b9b32
    • J
      Merge branch 'kn/ref-filter-branch-list' · 07377801
      Junio C Hamano 提交于
      "git branch --list" takes the "--abbrev" and "--no-abbrev" options
      to control the output of the object name in its "-v"(erbose)
      output, but a recent update started ignoring them; this fixes it
      before the breakage reaches to any released version.
      
      * kn/ref-filter-branch-list:
        branch: honor --abbrev/--no-abbrev in --list mode
      07377801
    • J
      Merge branch 'jk/push-deadlock-regression-fix' · d6857a83
      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
      d6857a83
    • J
      Merge branch 'js/travis-32bit-linux' · 130b664e
      Junio C Hamano 提交于
      Add 32-bit Linux variant to the set of platforms to be tested with
      Travis CI.
      
      * js/travis-32bit-linux:
        Travis: also test on 32-bit Linux
      130b664e
    • J
      Merge branch 'ew/http-alternates-as-redirects-warning' · 519592bc
      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
      519592bc
    • J
      Merge branch 'dp/filter-branch-prune-empty' · 52963573
      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
      52963573
    • J
      Merge branch 'jt/perf-updates' · 228b7875
      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
      228b7875
    • J
      Merge branch 'mm/fetch-show-error-message-on-unadvertised-object' · 07198afb
      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
      07198afb
    • J
      Merge branch 'jk/interpret-branch-name' · c809496c
      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}
      c809496c
    • J
      Merge branch 'ab/cond-skip-tests' · 7c3b2034
      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
      7c3b2034
    • J
      setup.c: mention unresolved problems · 5c4003ca
      Johannes Schindelin 提交于
      During the review of the `early-config` patch series, two issues
      have been identified that have been with us forever.  Mark the
      identified problems for later so that we do not forget them.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5c4003ca