1. 22 9月, 2016 12 次提交
    • J
      Merge branch 'rs/strbuf-remove-fix' · 3ba0bbb9
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/strbuf-remove-fix:
        strbuf: use valid pointer in strbuf_remove()
      3ba0bbb9
    • J
      Merge branch 'rs/pack-sort-with-llist-mergesort' · ee198369
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/pack-sort-with-llist-mergesort:
        sha1_file: use llist_mergesort() for sorting packs
      ee198369
    • J
      Merge branch 'rs/checkout-some-states-are-const' · 48e1f8ed
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/checkout-some-states-are-const:
        checkout: constify parameters of checkout_stage() and checkout_merged()
      48e1f8ed
    • J
      Merge branch 'jk/setup-sequence-update' · d845d727
      Junio C Hamano 提交于
      There were numerous corner cases in which the configuration files
      are read and used or not read at all depending on the directory a
      Git command was run, leading to inconsistent behaviour.  The code
      to set-up repository access at the beginning of a Git process has
      been updated to fix them.
      
      * jk/setup-sequence-update:
        t1007: factor out repeated setup
        init: reset cached config when entering new repo
        init: expand comments explaining config trickery
        config: only read .git/config from configured repos
        test-config: setup git directory
        t1302: use "git -C"
        pager: handle early config
        pager: use callbacks instead of configset
        pager: make pager_program a file-local static
        pager: stop loading git_default_config()
        pager: remove obsolete comment
        diff: always try to set up the repository
        diff: handle --no-index prefixes consistently
        diff: skip implicit no-index check when given --no-index
        patch-id: use RUN_SETUP_GENTLY
        hash-object: always try to set up the git repository
      d845d727
    • J
      Merge branch 'ew/http-do-not-forget-to-call-curl-multi-remove-handle' · ac8ddd7b
      Junio C Hamano 提交于
      The http transport (with curl-multi option, which is the default
      these days) failed to remove curl-easy handle from a curlm session,
      which led to unnecessary API failures.
      
      * ew/http-do-not-forget-to-call-curl-multi-remove-handle:
        http: always remove curl easy from curlm session on release
        http: consolidate #ifdefs for curl_multi_remove_handle
        http: warn on curl_multi_add_handle failures
      ac8ddd7b
    • J
      Merge branch 'bw/pathspec-remove-unused-extern-decl' · 570b4494
      Junio C Hamano 提交于
      Code cleanup.
      
      * bw/pathspec-remove-unused-extern-decl:
        pathspec: remove unnecessary function prototypes
      570b4494
    • J
      Merge branch 'ks/pack-objects-bitmap' · 7f109ef5
      Junio C Hamano 提交于
      Some codepaths in "git pack-objects" were not ready to use an
      existing pack bitmap; now they are and as the result they have
      become faster.
      
      * ks/pack-objects-bitmap:
        pack-objects: use reachability bitmap index when generating non-stdout pack
        pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
      7f109ef5
    • J
      Merge branch 'jk/patch-ids-no-merges' · f0a84de2
      Junio C Hamano 提交于
      "git log --cherry-pick" used to include merge commits as candidates
      to be matched up with other commits, resulting a lot of wasted time.
      The patch-id generation logic has been updated to ignore merges to
      avoid the wastage.
      
      * jk/patch-ids-no-merges:
        patch-ids: refuse to compute patch-id for merge commit
        patch-ids: turn off rename detection
      f0a84de2
    • J
      Merge branch 'jk/delta-base-cache' · 13307145
      Junio C Hamano 提交于
      Recently we updated the code to manage the in-core cache that holds
      objects that have recently been used to reconstitute other objects
      that are stored as deltas against them, but the update used an
      incorrect API function to manage the list of these objects.  This
      has been fixed.
      
      * jk/delta-base-cache:
        add_delta_base_cache: use list_for_each_safe
      13307145
    • J
      Merge branch 'et/add-chmod-x' · a9817aae
      Junio C Hamano 提交于
      "git add --chmod=+x" added recently lacked documentation, which has
      been corrected.
      
      * et/add-chmod-x:
        add: document the chmod option
      a9817aae
    • J
      Merge branch 'js/cat-file-filters' · 7889ed25
      Junio C Hamano 提交于
      Even though "git hash-objects", which is a tool to take an
      on-filesystem data stream and put it into the Git object store,
      allowed to perform the "outside-world-to-Git" conversions (e.g.
      end-of-line conversions and application of the clean-filter), and
      it had the feature on by default from very early days, its reverse
      operation "git cat-file", which takes an object from the Git object
      store and externalize for the consumption by the outside world,
      lacked an equivalent mechanism to run the "Git-to-outside-world"
      conversion.  The command learned the "--filters" option to do so.
      
      * js/cat-file-filters:
        cat-file: support --textconv/--filters in batch mode
        cat-file --textconv/--filters: allow specifying the path separately
        cat-file: introduce the --filters option
        cat-file: fix a grammo in the man page
      7889ed25
    • J
      Merge branch 'jt/accept-capability-advertisement-when-fetching-from-void' · 07d87243
      Junio C Hamano 提交于
      JGit can show a fake ref "capabilities^{}" to "git fetch" when it
      does not advertise any refs, but "git fetch" was not prepared to
      see such an advertisement.  When the other side disconnects without
      giving any ref advertisement, we used to say "there may not be a
      repository at that URL", but we may have seen other advertisement
      like "shallow" and ".have" in which case we definitely know that a
      repository is there.  The code to detect this case has also been
      updated.
      
      * jt/accept-capability-advertisement-when-fetching-from-void:
        connect: advertized capability is not a ref
        connect: tighten check for unexpected early hang up
        tests: move test_lazy_prereq JGIT to test-lib.sh
      07d87243
  2. 20 9月, 2016 21 次提交
    • J
      Sync with maint · f6727b05
      Junio C Hamano 提交于
      * maint:
        Start preparing for 2.10.1
      f6727b05
    • J
      Start preparing for 2.10.1 · 7c0304af
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      7c0304af
    • J
      Merge branch 'sb/diff-cleanup' into maint · ddf8ee85
      Junio C Hamano 提交于
      Code cleanup.
      
      * sb/diff-cleanup:
        diff: remove dead code
        diff: omit found pointer from emit_callback
        diff.c: use diff_options directly
      ddf8ee85
    • J
      Merge branch 'ah/misc-message-fixes' into maint · 9f3d73e8
      Junio C Hamano 提交于
      Message cleanup.
      
      * ah/misc-message-fixes:
        unpack-trees: do not capitalize "working"
        git-merge-octopus: do not capitalize "octopus"
        git-rebase--interactive: fix English grammar
        cat-file: put spaces around pipes in usage string
        am: put spaces around pipe in usage string
      9f3d73e8
    • J
      Merge branch 'sb/transport-report-missing-submodule-on-stderr' into maint · 03039390
      Junio C Hamano 提交于
      Message cleanup.
      
      * sb/transport-report-missing-submodule-on-stderr:
        transport: report missing submodule pushes consistently on stderr
      03039390
    • J
      Merge branch 'sb/xdiff-remove-unused-static-decl' into maint · 51673a71
      Junio C Hamano 提交于
      Code cleanup.
      
      * sb/xdiff-remove-unused-static-decl:
        xdiff: remove unneeded declarations
      51673a71
    • J
      Merge branch 'js/t9903-chaining' into maint · 294573e6
      Junio C Hamano 提交于
      Test fix.
      
      * js/t9903-chaining:
        t9903: fix broken && chain
      294573e6
    • J
      Merge branch 'rs/hex2chr' into maint · c3befaea
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/hex2chr:
        introduce hex2chr() for converting two hexadecimal digits to a character
      c3befaea
    • J
      Merge branch 'rs/compat-strdup' into maint · 815a73f7
      Junio C Hamano 提交于
      Code cleanup.
      
      * rs/compat-strdup:
        compat: move strdup(3) replacement to its own file
      815a73f7
    • J
      Merge branch 'jk/squelch-false-warning-from-gcc-o3' into maint · 3d54b93f
      Junio C Hamano 提交于
      Compilation fix.
      
      * jk/squelch-false-warning-from-gcc-o3:
        color_parse_mem: initialize "struct color" temporary
        error_errno: use constant return similar to error()
      3d54b93f
    • J
      Merge branch 'ep/use-git-trace-curl-in-tests' into maint · 1e28677e
      Junio C Hamano 提交于
      Update a few tests that used to use GIT_CURL_VERBOSE to use the
      newer GIT_TRACE_CURL.
      
      * ep/use-git-trace-curl-in-tests:
        t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
        t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
        test-lib.sh: preserve GIT_TRACE_CURL from the environment
        t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
      1e28677e
    • J
      Merge branch 'js/t6026-clean-up' into maint · 8e265358
      Junio C Hamano 提交于
      A test spawned a short-lived background process, which sometimes
      prevented the test directory from getting removed at the end of the
      script on some platforms.
      
      * js/t6026-clean-up:
        t6026-merge-attr: clean up background process at end of test case
      8e265358
    • J
      Merge branch 'jc/forbid-symbolic-ref-d-HEAD' into maint · d6645312
      Junio C Hamano 提交于
      "git symbolic-ref -d HEAD" happily removes the symbolic ref, but
      the resulting repository becomes an invalid one.  Teach the command
      to forbid removal of HEAD.
      
      * jc/forbid-symbolic-ref-d-HEAD:
        symbolic-ref -d: do not allow removal of HEAD
      d6645312
    • J
      Merge branch 'jc/submodule-anchor-git-dir' into maint · 4c10c311
      Junio C Hamano 提交于
      Having a submodule whose ".git" repository is somehow corrupt
      caused a few commands that recurse into submodules loop forever.
      
      * jc/submodule-anchor-git-dir:
        submodule: avoid auto-discovery in prepare_submodule_repo_env()
      4c10c311
    • J
      Merge branch 'jk/test-lib-drop-pid-from-results' into maint · 79b51ebf
      Junio C Hamano 提交于
      The test framework left the number of tests and success/failure
      count in the t/test-results directory, keyed by the name of the
      test script plus the process ID.  The latter however turned out not
      to serve any useful purpose.  The process ID part of the filename
      has been removed.
      
      * jk/test-lib-drop-pid-from-results:
        test-lib: drop PID from test-results/*.count
      79b51ebf
    • J
      Merge branch 'bh/diff-highlight-graph' into maint · 276661ff
      Junio C Hamano 提交于
      "diff-highlight" script (in contrib/) learned to work better with
      "git log -p --graph" output.
      
      * bh/diff-highlight-graph:
        diff-highlight: avoid highlighting combined diffs
        diff-highlight: add multi-byte tests
        diff-highlight: ignore test cruft
        diff-highlight: add support for --graph output
        diff-highlight: add failing test for handling --graph output
        diff-highlight: add some tests
      276661ff
    • J
      Merge branch 'po/range-doc' into maint · f0b2db22
      Junio C Hamano 提交于
      Clarify various ways to specify the "revision ranges" in the
      documentation.
      
      * po/range-doc:
        doc: revisions: sort examples and fix alignment of the unchanged
        doc: revisions: show revision expansion in examples
        doc: revisions - clarify reachability examples
        doc: revisions - define `reachable`
        doc: gitrevisions - clarify 'latter case' is revision walk
        doc: gitrevisions - use 'reachable' in page description
        doc: revisions: single vs multi-parent notation comparison
        doc: revisions: extra clarification of <rev>^! notation effects
        doc: revisions: give headings for the two and three dot notations
        doc: show the actual left, right, and boundary marks
        doc: revisions - name the left and right sides
        doc: use 'symmetric difference' consistently
      f0b2db22
    • J
      Third batch for 2.11 · 2118cdc7
      Junio C Hamano 提交于
      This round they are somewhat bigger topics.
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      2118cdc7
    • J
      Merge branch 'bc/object-id' · 4af9a7d3
      Junio C Hamano 提交于
      The "unsigned char sha1[20]" to "struct object_id" conversion
      continues.  Notable changes in this round includes that ce->sha1,
      i.e. the object name recorded in the cache_entry, turns into an
      object_id.
      
      It had merge conflicts with a few topics in flight (Christian's
      "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's
      "status --porcelain-v2").  Extra sets of eyes double-checking for
      mismerges are highly appreciated.
      
      * bc/object-id:
        builtin/reset: convert to use struct object_id
        builtin/commit-tree: convert to struct object_id
        builtin/am: convert to struct object_id
        refs: add an update_ref_oid function.
        sha1_name: convert get_sha1_mb to struct object_id
        builtin/update-index: convert file to struct object_id
        notes: convert init_notes to use struct object_id
        builtin/rm: convert to use struct object_id
        builtin/blame: convert file to use struct object_id
        Convert read_mmblob to take struct object_id.
        notes-merge: convert struct notes_merge_pair to struct object_id
        builtin/checkout: convert some static functions to struct object_id
        streaming: make stream_blob_to_fd take struct object_id
        builtin: convert textconv_object to use struct object_id
        builtin/cat-file: convert some static functions to struct object_id
        builtin/cat-file: convert struct expand_data to use struct object_id
        builtin/log: convert some static functions to use struct object_id
        builtin/blame: convert struct origin to use struct object_id
        builtin/apply: convert static functions to struct object_id
        cache: convert struct cache_entry to use struct object_id
      4af9a7d3
    • J
      Merge branch 'mh/ref-store' · 4322f384
      Junio C Hamano 提交于
      The ref-store abstraction was introduced to the refs API so that we
      can plug in different backends to store references.
      
      * mh/ref-store: (38 commits)
        refs: implement iteration over only per-worktree refs
        refs: make lock generic
        refs: add method to rename refs
        refs: add methods to init refs db
        refs: make delete_refs() virtual
        refs: add method for initial ref transaction commit
        refs: add methods for reflog
        refs: add method iterator_begin
        files_ref_iterator_begin(): take a ref_store argument
        split_symref_update(): add a files_ref_store argument
        lock_ref_sha1_basic(): add a files_ref_store argument
        lock_ref_for_update(): add a files_ref_store argument
        commit_ref_update(): add a files_ref_store argument
        lock_raw_ref(): add a files_ref_store argument
        repack_without_refs(): add a files_ref_store argument
        refs: make peel_ref() virtual
        refs: make create_symref() virtual
        refs: make pack_refs() virtual
        refs: make verify_refname_available() virtual
        refs: make read_raw_ref() virtual
        ...
      4322f384
    • J
      Merge branch 'cc/apply-am' · 81358dc2
      Junio C Hamano 提交于
      "git am" has been taught to make an internal call to "git apply"'s
      innards without spawning the latter as a separate process.
      
      * cc/apply-am: (41 commits)
        builtin/am: use apply API in run_apply()
        apply: learn to use a different index file
        apply: pass apply state to build_fake_ancestor()
        apply: refactor `git apply` option parsing
        apply: change error_routine when silent
        usage: add get_error_routine() and get_warn_routine()
        usage: add set_warn_routine()
        apply: don't print on stdout in verbosity_silent mode
        apply: make it possible to silently apply
        apply: use error_errno() where possible
        apply: make some parsing functions static again
        apply: move libified code from builtin/apply.c to apply.{c,h}
        apply: rename and move opt constants to apply.h
        builtin/apply: rename option parsing functions
        builtin/apply: make create_one_file() return -1 on error
        builtin/apply: make try_create_file() return -1 on error
        builtin/apply: make write_out_results() return -1 on error
        builtin/apply: make write_out_one_result() return -1 on error
        builtin/apply: make create_file() return -1 on error
        builtin/apply: make add_index_file() return -1 on error
        ...
      81358dc2
  3. 16 9月, 2016 7 次提交
    • J
      Second batch for 2.11 · e510a86c
      Junio C Hamano 提交于
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      e510a86c
    • J
      Merge branch 'js/git-gui-commit-gpgsign' · e6a51afb
      Junio C Hamano 提交于
      "git commit-tree" stopped reading commit.gpgsign configuration
      variable that was meant for Porcelain "git commit" in Git 2.9; we
      forgot to update "git gui" to look at the configuration to match
      this change.
      
      * js/git-gui-commit-gpgsign:
        git-gui: respect commit.gpgsign again
      e6a51afb
    • J
      Merge branch 'js/sequencer-wo-die' · 2a4062a4
      Junio C Hamano 提交于
      Lifts calls to exit(2) and die() higher in the callchain in
      sequencer.c files so that more helper functions in it can be used
      by callers that want to handle error conditions themselves.
      
      * js/sequencer-wo-die:
        sequencer: ensure to release the lock when we could not read the index
        sequencer: lib'ify checkout_fast_forward()
        sequencer: lib'ify fast_forward_to()
        sequencer: lib'ify save_opts()
        sequencer: lib'ify save_todo()
        sequencer: lib'ify save_head()
        sequencer: lib'ify create_seq_dir()
        sequencer: lib'ify read_populate_opts()
        sequencer: lib'ify read_populate_todo()
        sequencer: lib'ify read_and_refresh_cache()
        sequencer: lib'ify prepare_revs()
        sequencer: lib'ify walk_revs_populate_todo()
        sequencer: lib'ify do_pick_commit()
        sequencer: lib'ify do_recursive_merge()
        sequencer: lib'ify write_message()
        sequencer: do not die() in do_pick_commit()
        sequencer: lib'ify sequencer_pick_revisions()
      2a4062a4
    • J
      Merge branch 'sb/diff-cleanup' · a0d9b7f0
      Junio C Hamano 提交于
      Code cleanup.
      
      * sb/diff-cleanup:
        diff: remove dead code
        diff: omit found pointer from emit_callback
        diff.c: use diff_options directly
      a0d9b7f0
    • J
      Merge branch 'jk/fix-remote-curl-url-wo-proto' · c13f458d
      Junio C Hamano 提交于
      "git fetch http::/site/path" did not die correctly and segfaulted
      instead.
      
      * jk/fix-remote-curl-url-wo-proto:
        remote-curl: handle URLs without protocol
      c13f458d
    • J
      Merge branch 'ah/misc-message-fixes' · 4fa1251b
      Junio C Hamano 提交于
      Message cleanup.
      
      * ah/misc-message-fixes:
        unpack-trees: do not capitalize "working"
        git-merge-octopus: do not capitalize "octopus"
        git-rebase--interactive: fix English grammar
        cat-file: put spaces around pipes in usage string
        am: put spaces around pipe in usage string
      4fa1251b
    • J
      Merge branch 'sy/git-gui-i18n-ja' · 581c08e8
      Junio C Hamano 提交于
      Update Japanese translation for "git-gui".
      
      * sy/git-gui-i18n-ja:
        git-gui: update Japanese information
        git-gui: update Japanese translation
        git-gui: add Japanese language code
        git-gui: apply po template to Japanese translation
        git-gui: consistently use the same word for "blame" in Japanese
        git-gui: consistently use the same word for "remote" in Japanese
      581c08e8