1. 29 5月, 2017 7 次提交
    • J
      Merge branch 'bc/object-id' · 6b526ced
      Junio C Hamano 提交于
      Conversion from uchar[20] to struct object_id continues.
      
      * bc/object-id: (53 commits)
        object: convert parse_object* to take struct object_id
        tree: convert parse_tree_indirect to struct object_id
        sequencer: convert do_recursive_merge to struct object_id
        diff-lib: convert do_diff_cache to struct object_id
        builtin/ls-tree: convert to struct object_id
        merge: convert checkout_fast_forward to struct object_id
        sequencer: convert fast_forward_to to struct object_id
        builtin/ls-files: convert overlay_tree_on_cache to object_id
        builtin/read-tree: convert to struct object_id
        sha1_name: convert internals of peel_onion to object_id
        upload-pack: convert remaining parse_object callers to object_id
        revision: convert remaining parse_object callers to object_id
        revision: rename add_pending_sha1 to add_pending_oid
        http-push: convert process_ls_object and descendants to object_id
        refs/files-backend: convert many internals to struct object_id
        refs: convert struct ref_update to use struct object_id
        ref-filter: convert some static functions to struct object_id
        Convert struct ref_array_item to struct object_id
        Convert the verify_pack callback to struct object_id
        Convert lookup_tag to struct object_id
        ...
      6b526ced
    • J
      Merge branch 'nd/split-index-unshare' · f382b756
      Junio C Hamano 提交于
      Plug some leaks and updates internal API used to implement the
      split index feature to make it easier to avoid such a leak in the
      future.
      
      * nd/split-index-unshare:
        p3400: add perf tests for rebasing many changes
        split-index: add and use unshare_split_index()
      f382b756
    • J
      Merge branch 'jk/diff-submodule-diff-inline' · a531ecf3
      Junio C Hamano 提交于
      "git diff --submodule=diff" now recurses into nested submodules.
      
      * jk/diff-submodule-diff-inline:
        diff: recurse into nested submodules for inline diff
      a531ecf3
    • J
      Merge branch 'bw/dir-c-stops-relying-on-the-index' · 4eeed27e
      Junio C Hamano 提交于
      API update.
      
      * bw/dir-c-stops-relying-on-the-index:
        dir: convert fill_directory to take an index
        dir: convert read_directory to take an index
        dir: convert read_directory_recursive to take an index
        dir: convert open_cached_dir to take an index
        dir: convert is_excluded to take an index
        dir: convert prep_exclude to take an index
        dir: convert add_excludes to take an index
        dir: convert is_excluded_from_list to take an index
        dir: convert last_exclude_matching_from_list to take an index
        dir: convert dir_add* to take an index
        dir: convert get_dtype to take index
        dir: convert directory_exists_in_index to take index
        dir: convert read_skip_worktree_file_from_index to take an index
        dir: stop using the index compatibility macros
      4eeed27e
    • J
      Merge branch 'sb/checkout-recurse-submodules' · f1101cef
      Junio C Hamano 提交于
      "git checkout --recurse-submodules" did not quite work with a
      submodule that itself has submodules.
      
      * sb/checkout-recurse-submodules:
        submodule: properly recurse for read-tree and checkout
        submodule: avoid auto-discovery in new working tree manipulator code
        submodule_move_head: reuse child_process structure for futher commands
      f1101cef
    • J
      Merge branch 'jc/repack-threads' · 31fb6f4d
      Junio C Hamano 提交于
      "git repack" learned to accept the --threads=<n> option and pass it
      to pack-objects.
      
      * jc/repack-threads:
        repack: accept --threads=<n> and pass it down to pack-objects
      31fb6f4d
    • J
      Merge branch 'sb/reset-recurse-submodules' · 5f074ca7
      Junio C Hamano 提交于
      "git reset" learned "--recurse-submodules" option.
      
      * sb/reset-recurse-submodules:
        builtin/reset: add --recurse-submodules switch
        submodule.c: submodule_move_head works with broken submodules
        submodule.c: uninitialized submodules are ignored in recursive commands
        entry.c: submodule recursing: respect force flag correctly
      5f074ca7
  2. 23 5月, 2017 9 次提交
    • J
      Second batch for 2.14 · 1eb43702
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1eb43702
    • J
      Merge branch 'ab/fix-poison-tests' · 6a0bc7cf
      Junio C Hamano 提交于
      Update tests to pass under GETTEXT_POISON (a mechanism to ensure
      that output strings that should not be translated are not
      translated by mistake), and tell TravisCI to run them.
      
      * ab/fix-poison-tests:
        travis-ci: add job to run tests with GETTEXT_POISON
        travis-ci: setup "prove cache" in "script" step
        tests: fix tests broken under GETTEXT_POISON=YesPlease
      6a0bc7cf
    • J
      Merge branch 'tb/dedup-crlf-tests' · d13686ff
      Junio C Hamano 提交于
      * tb/dedup-crlf-tests:
        t0027: tests are not expensive; remove t0025
      d13686ff
    • J
      Merge branch 'jt/push-options-doc' · 3c980083
      Junio C Hamano 提交于
      The receive-pack program now makes sure that the push certificate
      records the same set of push options used for pushing.
      
      * jt/push-options-doc:
        receive-pack: verify push options in cert
        docs: correct receive.advertisePushOptions default
      3c980083
    • J
      Merge branch 'ab/doc-replace-gmane-links' · e4b6ccdb
      Junio C Hamano 提交于
      The Web interface to gmane news archive is long gone, even though
      the articles are still accessible via NTTP.  Replace the links with
      ones to public-inbox.org.  Because their message identification is
      based on the actual message-id, it is likely that it will be easier
      to migrate away from it if/when necessary.
      
      * ab/doc-replace-gmane-links:
        doc: replace more gmane links
        doc: replace a couple of broken gmane links
      e4b6ccdb
    • J
      Merge branch 'rs/checkout-am-fix-unborn' · e40c0f42
      Junio C Hamano 提交于
      A few codepaths in "checkout" and "am" working on an unborn branch
      tried to access an uninitialized piece of memory.
      
      * rs/checkout-am-fix-unborn:
        am: check return value of resolve_refdup before using hash
        checkout: check return value of resolve_refdup before using hash
      e40c0f42
    • J
      Merge branch 'ls/travis-relays-for-windows-ci' · dcad9a4c
      Junio C Hamano 提交于
      * ls/travis-relays-for-windows-ci:
        travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503
        travis-ci: handle Git for Windows CI status "failed" explicitly
      dcad9a4c
    • J
      Merge branch 'ah/log-decorate-default-to-auto' · bf32fc56
      Junio C Hamano 提交于
      Setting "log.decorate=false" in the configuration file did not take
      effect in v2.13, which has been corrected.
      
      * ah/log-decorate-default-to-auto:
        builtin/log: honor log.decorate
      bf32fc56
    • J
      Merge branch 'bw/submodule-with-bs-path' · bea1579b
      Junio C Hamano 提交于
      A hotfix to a topic that is already in v2.13.
      
      * bw/submodule-with-bs-path:
        t7400: add !CYGWIN prerequisite to 'add with \\ in path'
      bea1579b
  3. 16 5月, 2017 17 次提交
    • J
      Start post 2.13 cycle · 10c78a16
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      10c78a16
    • J
      Merge branch 'js/larger-timestamps' · b15667bb
      Junio C Hamano 提交于
      Some platforms have ulong that is smaller than time_t, and our
      historical use of ulong for timestamp would mean they cannot
      represent some timestamp that the platform allows.  Invent a
      separate and dedicated timestamp_t (so that we can distingiuish
      timestamps and a vanilla ulongs, which along is already a good
      move), and then declare uintmax_t is the type to be used as the
      timestamp_t.
      
      * js/larger-timestamps:
        archive-tar: fix a sparse 'constant too large' warning
        use uintmax_t for timestamps
        date.c: abort if the system time cannot handle one of our timestamps
        timestamp_t: a new data type for timestamps
        PRItime: introduce a new "printf format" for timestamps
        parse_timestamp(): specify explicitly where we parse timestamps
        t0006 & t5000: skip "far in the future" test when time_t is too limited
        t0006 & t5000: prepare for 64-bit timestamps
        ref-filter: avoid using `unsigned long` for catch-all data type
      b15667bb
    • J
      Merge branch 'jc/apply-fix-mismerge' · afc5f2ce
      Junio C Hamano 提交于
      * jc/apply-fix-mismerge:
        apply.c: fix whitespace-only mismerge
      afc5f2ce
    • J
      Merge branch 'ab/aix-needs-compat-regex' · 5cea6ffd
      Junio C Hamano 提交于
      Build fix.
      
      * ab/aix-needs-compat-regex:
        config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX
      5cea6ffd
    • J
      Merge branch 'jn/credential-doc-on-clear' · 0df3550d
      Junio C Hamano 提交于
      Doc update.
      
      * jn/credential-doc-on-clear:
        credential doc: make multiple-helper behavior more prominent
      0df3550d
    • J
      Merge branch 'jn/clone-add-empty-config-from-command-line' · 883247c2
      Junio C Hamano 提交于
      "git clone --config var=val" is a way to populate the
      per-repository configuration file of the new repository, but it did
      not work well when val is an empty string.  This has been fixed.
      
      * jn/clone-add-empty-config-from-command-line:
        clone: handle empty config values in -c
      883247c2
    • J
      Merge branch 'bw/submodule-has-commits-update' · 48756637
      Junio C Hamano 提交于
      Code clean-up and duplicate removal.
      
      * bw/submodule-has-commits-update:
        submodule: refactor logic to determine changed submodules
        submodule: improve submodule_has_commits()
        submodule: change string_list changed_submodule_paths
        submodule: remove add_oid_to_argv()
        submodule: rename free_submodules_sha1s()
        submodule: rename add_sha1_to_array()
      48756637
    • J
      Merge branch 'ls/travis-doc-asciidoctor' · c773da2e
      Junio C Hamano 提交于
      Travis CI gained a task to format the documentation with both
      AsciiDoc and AsciiDoctor.
      
      * ls/travis-doc-asciidoctor:
        travis-ci: check AsciiDoc/AsciiDoctor stderr output
        travis-ci: unset compiler for jobs that do not need one
        travis-ci: parallelize documentation build
        travis-ci: build documentation with AsciiDoc and Asciidoctor
      c773da2e
    • J
      Merge branch 'rs/large-zip' · f0858342
      Junio C Hamano 提交于
      "git archive --format=zip" learned to use zip64 extension when
      necessary to go beyond the 4GB limit.
      
      * rs/large-zip:
        t5004: require 64-bit support for big ZIP tests
        archive-zip: set version field for big files correctly
        archive-zip: support files bigger than 4GB
        archive-zip: support archives bigger than 4GB
        archive-zip: write ZIP dir entry directly to strbuf
        archive-zip: use strbuf for ZIP directory
        archive-zip: add tests for big ZIP archives
      f0858342
    • J
      Merge branch 'ab/clone-no-tags' · a1fdc85f
      Junio C Hamano 提交于
      "git clone" learned the "--no-tags" option not to fetch all tags
      initially, and also set up the tagopt not to follow any tags in
      subsequent fetches.
      
      * ab/clone-no-tags:
        tests: rename a test having to do with shallow submodules
        clone: add a --no-tags option to clone without tags
        tests: change "cd ... && git fetch" to "cd &&\n\tgit fetch"
      a1fdc85f
    • J
      Merge branch 'sk/status-short-branch-color-config' · 3900254b
      Junio C Hamano 提交于
      The colors in which "git status --short --branch" showed the names
      of the current branch and its remote-tracking branch are now
      configurable.
      
      * sk/status-short-branch-color-config:
        status: add color config slots for branch info in "--short --branch"
        status: fix missing newline when comment chars are disabled
      3900254b
    • J
      Merge branch 'jk/am-leakfix' · db3b1d58
      Junio C Hamano 提交于
      The codepath in "git am" that is used when running "git rebase"
      leaked memory held for the log message of the commits being rebased.
      
      * jk/am-leakfix:
        am: shorten ident_split variable name in get_commit_info()
        am: simplify allocations in get_commit_info()
        am: fix commit buffer leak in get_commit_info()
      db3b1d58
    • J
      Merge branch 'jt/use-trailer-api-in-commands' · 6ebfa104
      Junio C Hamano 提交于
      "git cherry-pick" and other uses of the sequencer machinery
      mishandled a trailer block whose last line is an incomplete line.
      This has been fixed so that an additional sign-off etc. are added
      after completing the existing incomplete line.
      
      * jt/use-trailer-api-in-commands:
        sequencer: add newline before adding footers
      6ebfa104
    • J
      Merge branch 'nd/worktree-kill-parse-ref' · 4b44b7b1
      Junio C Hamano 提交于
      "git gc" did not interact well with "git worktree"-managed
      per-worktree refs.
      
      * nd/worktree-kill-parse-ref:
        refs: kill set_worktree_head_symref()
        worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
        refs: introduce get_worktree_ref_store()
        refs: add REFS_STORE_ALL_CAPS
        refs.c: make submodule ref store hashmap generic
        environment.c: fix potential segfault by get_git_common_dir()
      4b44b7b1
    • J
      Merge branch 'dt/gc-ignore-old-gc-logs' · a0ab83eb
      Junio C Hamano 提交于
      Attempt to allow us notice "fishy" situation where we fail to
      remove the temporary directory used during the test.
      
      * dt/gc-ignore-old-gc-logs:
        test-lib: retire $remove_trash variable
        test-lib.sh: do not barf under --debug at the end of the test
        test-lib: abort when can't remove trash directory
      a0ab83eb
    • J
      Merge branch 'jk/no-null-sha1-in-cache-tree' · f767178a
      Junio C Hamano 提交于
      Code to update the cache-tree has been tightened so that we won't
      accidentally write out any 0{40} entry in the tree object.
      
      * jk/no-null-sha1-in-cache-tree:
        cache-tree: reject entries with null sha1
      f767178a
    • J
      Merge branch 'dt/raise-core-packed-git-limit' · d97141b0
      Junio C Hamano 提交于
      The default packed-git limit value has been raised on larger
      platforms to save "git fetch" from a (recoverable) failure while
      "gc" is running in parallel.
      
      * dt/raise-core-packed-git-limit:
        Increase core.packedGitLimit
      d97141b0
  4. 15 5月, 2017 1 次提交
  5. 11 5月, 2017 4 次提交
    • L
      travis-ci: add job to run tests with GETTEXT_POISON · b8e188f6
      Lars Schneider 提交于
      Add a job to run Git tests with GETTEXT_POISON. In this job we don't run
      the git-p4, git-svn, and HTTPD tests to save resources/time (those tests
      are already executed in other jobs). Since we don't run these tests, we
      can also skip the "before_install" step (which would install the
      necessary dependencies) with an empty override.
      Signed-off-by: NLars Schneider <larsxschneider@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      b8e188f6
    • L
      travis-ci: setup "prove cache" in "script" step · 3ae72a3a
      Lars Schneider 提交于
      The command that made the "prove cache" persistent across builds was
      executed in the "before_install" step. Consequently, every job that
      wanted to make use of the cache had to run this step.
      
      The "prove cache" is only used in the "script" step for the
      "make test" command. Therefore, we should configure the "prove cache"
      in this step.
      
      This change is useful for a subsequent patch that adds a job which does
      not need the "before_install" step but wants to run the "script" step to
      execute the tests.
      Signed-off-by: NLars Schneider <larsxschneider@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3ae72a3a
    • Æ
      tests: fix tests broken under GETTEXT_POISON=YesPlease · 0d75bfe6
      Ævar Arnfjörð Bjarmason 提交于
      The GETTEXT_POISON=YesPlease compile-time testing option added in my
      bb946bba ("i18n: add GETTEXT_POISON to simulate unfriendly
      translator", 2011-02-22) has been slowly bitrotting as strings have
      been marked for translation, and new tests have been added without
      running it.
      
      I brought this up on the list ("[BUG] test suite broken with
      GETTEXT_POISON=YesPlease", [1]) asking whether this mode was useful at
      all anymore. At least one person occasionally uses it, and Lars
      Schneider offered to change one of the the Travis builds to run in
      this mode, so fix up the failing ones.
      
      My test setup runs most of the tests, with the notable exception of
      skipping all the p4 tests, so it's possible that there's still some
      lurking regressions I haven't fixed.
      
      1. <CACBZZX62+acvi1dpkknadTL827mtCm_QesGSZ=6+UnyeMpg8+Q@mail.gmail.com>
      Signed-off-by: NÆvar Arnfjörð Bjarmason <avarab@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      0d75bfe6
    • T
      t0027: tests are not expensive; remove t0025 · c8f7c8b7
      Torsten Bögershausen 提交于
      The purpose of t0027 is to test all CRLF related conversions at "git
      checkout" and "git add".  Running t0027 under Git for Windows takes
      3-4 minutes, so the whole script had been marked as "EXPENSIVE".
      
      However, the "Git for Windows" fork overrides this since 2014:
      "t0027 is marked expensive, but really, for MinGW we want to run
      these tests always."
      
      The test seems not to be expensive on other platforms at all: it
      takes less than 14 seconds under Linux, and 63 seconds under Mac Os
      X, and this is more or less the same with a SSD or a spinning disk.
      
      So let's drop the "EXPENSIVE" prereq.
      
      While at it, retire t0025; recent "stress" tests show that t0025 is
      flaky, reported by Lars Schneider <larsxschneider@gmail.com>, but
      all tests in t0025 are covered by t0027 already.
      Signed-off-by: NTorsten Bögershausen <tboegi@web.de>
      Acked-by: NJohannes Schindelin <Johannes.Schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c8f7c8b7
  6. 10 5月, 2017 2 次提交
    • J
      receive-pack: verify push options in cert · cbaf82cc
      Jonathan Tan 提交于
      In commit f6a4e61f ("push: accept push options", 2016-07-14), send-pack
      was taught to include push options both within the signed cert (if the
      push is a signed push) and outside the signed cert; however,
      receive-pack ignores push options within the cert, only handling push
      options outside the cert.
      
      Teach receive-pack, in the case that push options are provided for a
      signed push, to verify that the push options both within the cert and
      outside the cert are consistent.
      
      This sets in stone the requirement that send-pack redundantly send its
      push options in 2 places, but I think that this is better than the
      alternatives. Sending push options only within the cert is
      backwards-incompatible with existing Git servers (which read push
      options only from outside the cert), and sending push options only
      outside the cert means that the push options are not signed for.
      Signed-off-by: NJonathan Tan <jonathantanmy@google.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      cbaf82cc
    • J
      doc: replace more gmane links · 5840eb9d
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      5840eb9d