1. 25 Apr, 2019 36 commits
    • Junio C Hamano's avatar
      Merge branch 'js/iso8895-test-on-apfs' · 5c2b4ca0
      Junio C Hamano authored
      Test fix on APFS that is incapable of store paths in Latin-1.
      
      * js/iso8895-test-on-apfs:
        t9822: skip tests if file names cannot be ISO-8859-1 encoded
      5c2b4ca0
    • Junio C Hamano's avatar
      Merge branch 'jc/gettext-test-fix' · 49f50f58
      Junio C Hamano authored
      The GETTEXT_POISON test option has been quite broken ever since it
      was made runtime-tunable, which has been fixed.
      
      * jc/gettext-test-fix:
        gettext tests: export the restored GIT_TEST_GETTEXT_POISON
      49f50f58
    • Junio C Hamano's avatar
      Merge branch 'jk/fetch-reachability-error-fix' · 57a6b932
      Junio C Hamano authored
      Code clean-up and a fix for "git fetch" by an explicit object name
      (as opposed to fetching refs by name).
      
      * jk/fetch-reachability-error-fix:
        fetch: do not consider peeled tags as advertised tips
        remote.c: make singular free_ref() public
        fetch: use free_refs()
        pkt-line: prepare buffer before handling ERR packets
        upload-pack: send ERR packet for non-tip objects
        t5530: check protocol response for "not our ref"
        t5516: drop ok=sigpipe from unreachable-want tests
      57a6b932
    • Junio C Hamano's avatar
      Merge branch 'jk/xmalloc' · 449f2db7
      Junio C Hamano authored
      The code is updated to check the result of memory allocation before
      it is used in more places, by using xmalloc and/or xcalloc calls.
      
      * jk/xmalloc:
        progress: use xmalloc/xcalloc
        xdiff: use xmalloc/xrealloc
        xdiff: use git-compat-util
        test-prio-queue: use xmalloc
      449f2db7
    • Junio C Hamano's avatar
      Merge branch 'km/t3000-retitle' · c8e8b5c3
      Junio C Hamano authored
      A test update.
      
      * km/t3000-retitle:
        t3000 (ls-files -o): widen description to reflect current tests
      c8e8b5c3
    • Junio C Hamano's avatar
      Merge branch 'js/untracked-cache-allocfix' · 0830eac1
      Junio C Hamano authored
      An underallocation in the code to read the untracked cache
      extension has been corrected.
      
      * js/untracked-cache-allocfix:
        untracked cache: fix off-by-one
      0830eac1
    • Junio C Hamano's avatar
      Merge branch 'js/t3301-unbreak-notes-test' · af152bd5
      Junio C Hamano authored
      Test fix.
      
      * js/t3301-unbreak-notes-test:
        t3301: fix false negative
      af152bd5
    • Junio C Hamano's avatar
      Merge branch 'tz/doc-apostrophe-no-longer-needed' · c42986f4
      Junio C Hamano authored
      Doc formatting fix.
      
      * tz/doc-apostrophe-no-longer-needed:
        Documentation/git-show-branch: avoid literal {apostrophe}
      c42986f4
    • Junio C Hamano's avatar
      Merge branch 'sg/blame-in-bare-start-at-head' · d8620d3c
      Junio C Hamano authored
      "git blame -- path" in a non-bare repository starts blaming from
      the working tree, and the same command in a bare repository errors
      out because there is no working tree by definition.  The command
      has been taught to instead start blaming from the commit at HEAD,
      which is more useful.
      
      * sg/blame-in-bare-start-at-head:
        blame: default to HEAD in a bare repo when no start commit is given
      d8620d3c
    • Junio C Hamano's avatar
      Merge branch 'tg/ls-files-debug-format-fix' · 503f5809
      Junio C Hamano authored
      Debugging code fix.
      
      * tg/ls-files-debug-format-fix:
        ls-files: use correct format string
      503f5809
    • Junio C Hamano's avatar
      Merge branch 'po/describe-not-necessarily-7' · 18c3ae0d
      Junio C Hamano authored
      Docfix.
      
      * po/describe-not-necessarily-7:
        describe doc: remove '7-char' abbreviation reference
      18c3ae0d
    • Junio C Hamano's avatar
      Merge branch 'po/rerere-doc-fmt' · 98a8fcc8
      Junio C Hamano authored
      Docfix.
      
      * po/rerere-doc-fmt:
        rerere doc: quote `rerere.enabled`
      98a8fcc8
    • Junio C Hamano's avatar
      Merge branch 'sg/overlong-progress-fix' · 425e51e5
      Junio C Hamano authored
      Updating the display with progress message has been cleaned up to
      deal better with overlong messages.
      
      * sg/overlong-progress-fix:
        progress: break too long progress bar lines
        progress: clear previous progress update dynamically
        progress: assemble percentage and counters in a strbuf before printing
        progress: make display_progress() return void
      425e51e5
    • Junio C Hamano's avatar
      Merge branch 'jt/batch-fetch-blobs-in-diff' · 32dc15de
      Junio C Hamano authored
      While running "git diff" in a lazy clone, we can upfront know which
      missing blobs we will need, instead of waiting for the on-demand
      machinery to discover them one by one.  Aim to achieve better
      performance by batching the request for these promised blobs.
      
      * jt/batch-fetch-blobs-in-diff:
        diff: batch fetching of missing blobs
        sha1-file: support OBJECT_INFO_FOR_PREFETCH
      32dc15de
    • Junio C Hamano's avatar
      Merge branch 'ab/gc-docs' · ac70c531
      Junio C Hamano authored
      Update docs around "gc".
      
      * ab/gc-docs:
        gc docs: remove incorrect reference to gc.auto=0
        gc docs: clarify that "gc" doesn't throw away referenced objects
        gc docs: note "gc --aggressive" in "fast-import"
        gc docs: downplay the usefulness of --aggressive
        gc docs: note how --aggressive impacts --window & --depth
        gc docs: fix formatting for "gc.writeCommitGraph"
        gc docs: re-flow the "gc.*" section in "config"
        gc docs: include the "gc.*" section from "config" in "gc"
        gc docs: clean grammar for "gc.bigPackThreshold"
        gc docs: stop noting "repack" flags
        gc docs: modernize the advice for manually running "gc"
      ac70c531
    • Junio C Hamano's avatar
      Merge branch 'dl/submodule-set-branch' · 01f8d788
      Junio C Hamano authored
      "git submodule" learns "set-branch" subcommand that allows the
      submodule.*.branch settings to be modified.
      
      * dl/submodule-set-branch:
        submodule: teach set-branch subcommand
        submodule--helper: teach config subcommand --unset
        git-submodule.txt: "--branch <branch>" option defaults to 'master'
      01f8d788
    • Junio C Hamano's avatar
      Merge branch 'jk/revision-rewritten-parents-in-prio-queue' · d9d65e9f
      Junio C Hamano authored
      Performance fix for "rev-list --parents -- pathspec".
      
      * jk/revision-rewritten-parents-in-prio-queue:
        revision: use a prio_queue to hold rewritten parents
      d9d65e9f
    • Junio C Hamano's avatar
      Merge branch 'dk/blame-keep-origin-blob' · 4d8c4da9
      Junio C Hamano authored
      Performance fix around "git blame", especially in a linear history
      (which is the norm we should optimize for).
      
      * dk/blame-keep-origin-blob:
        blame.c: don't drop origin blobs as eagerly
      4d8c4da9
    • Junio C Hamano's avatar
      Merge branch 'bc/hash-transition-16' · d4e568b2
      Junio C Hamano authored
      Conversion from unsigned char[20] to struct object_id continues.
      
      * bc/hash-transition-16: (35 commits)
        gitweb: make hash size independent
        Git.pm: make hash size independent
        read-cache: read data in a hash-independent way
        dir: make untracked cache extension hash size independent
        builtin/difftool: use parse_oid_hex
        refspec: make hash size independent
        archive: convert struct archiver_args to object_id
        builtin/get-tar-commit-id: make hash size independent
        get-tar-commit-id: parse comment record
        hash: add a function to lookup hash algorithm by length
        remote-curl: make hash size independent
        http: replace sha1_to_hex
        http: compute hash of downloaded objects using the_hash_algo
        http: replace hard-coded constant with the_hash_algo
        http-walker: replace sha1_to_hex
        http-push: remove remaining uses of sha1_to_hex
        http-backend: allow 64-character hex names
        http-push: convert to use the_hash_algo
        builtin/pull: make hash-size independent
        builtin/am: make hash size independent
        ...
      d4e568b2
    • Junio C Hamano's avatar
      Merge branch 'en/fast-import-parsing-fix' · dae82ecf
      Junio C Hamano authored
      "git fast-import" update.
      
      * en/fast-import-parsing-fix:
        fast-import: fix erroneous handling of get-mark with empty orphan commits
        fast-import: only allow cat-blob requests where it makes sense
        fast-import: check most prominent commands first
        git-fast-import.txt: fix wording about where ls command can appear
        t9300: demonstrate bug with get-mark and empty orphan commits
      dae82ecf
    • Junio C Hamano's avatar
      Merge branch 'jt/fetch-no-update-shallow-in-proto-v2' · 732ce7aa
      Junio C Hamano authored
      Fix for protocol v2 support in "git fetch-pack" of shallow clones.
      
      * jt/fetch-no-update-shallow-in-proto-v2:
        fetch-pack: respect --no-update-shallow in v2
        fetch-pack: call prepare_shallow_info only if v0
      732ce7aa
    • Junio C Hamano's avatar
      Merge branch 'jt/fetch-pack-wanted-refs-optim' · abd7ccdd
      Junio C Hamano authored
      Performance fix around "git fetch" that grabs many refs.
      
      * jt/fetch-pack-wanted-refs-optim:
        fetch-pack: binary search when storing wanted-refs
      abd7ccdd
    • Junio C Hamano's avatar
      Merge branch 'ab/test-lib-pass-trace2-env' · 8baf40b5
      Junio C Hamano authored
      Allow tracing of Git executable while running the testsuite.
      
      * ab/test-lib-pass-trace2-env:
        test-lib: whitelist GIT_TR2_* in the environment
      8baf40b5
    • Junio C Hamano's avatar
      Merge branch 'sg/index-pack-progress' · da924b58
      Junio C Hamano authored
      A progress indicator has been added to the "index-pack" step, which
      often makes users wait for completion during "git clone".
      
      * sg/index-pack-progress:
        index-pack: show progress while checking objects
      da924b58
    • Junio C Hamano's avatar
      Merge branch 'ab/commit-graph-fixes' · a5e4be2f
      Junio C Hamano authored
      Code cleanup with more careful error checking before using data
      read from the commit-graph file.
      
      * ab/commit-graph-fixes:
        commit-graph: improve & i18n error messages
        commit-graph write: don't die if the existing graph is corrupt
        commit-graph verify: detect inability to read the graph
        commit-graph: don't pass filename to load_commit_graph_one_fd_st()
        commit-graph: don't early exit(1) on e.g. "git status"
        commit-graph: fix segfault on e.g. "git status"
        commit-graph tests: test a graph that's too small
        commit-graph tests: split up corrupt_graph_and_verify()
      a5e4be2f
    • Junio C Hamano's avatar
      Merge branch 'ab/gc-reflog' · f3c19f85
      Junio C Hamano authored
      Fix various glitches in "git gc" around reflog handling.
      
      * ab/gc-reflog:
        gc: handle & check gc.reflogExpire config
        reflog tests: assert lack of early exit with expiry="never"
        reflog tests: test for the "points nowhere" warning
        reflog tests: make use of "test_config" idiom
        gc: refactor a "call me once" pattern
        gc: convert to using the_hash_algo
        gc: remove redundant check for gc_auto_threshold
      f3c19f85
    • Junio C Hamano's avatar
      Merge branch 'nd/checkout-m' · 4a3ed2be
      Junio C Hamano authored
      "git checkout -m <other>" was about carrying the differences
      between HEAD and the working-tree files forward while checking out
      another branch, and ignored the differences between HEAD and the
      index.  The command has been taught to abort when the index and the
      HEAD are different.
      
      * nd/checkout-m:
        checkout: prevent losing staged changes with --merge
        read-tree: add --quiet
        unpack-trees: rename "gently" flag to "quiet"
        unpack-trees: keep gently check inside add_rejected_path
      4a3ed2be
    • Junio C Hamano's avatar
      Merge branch 'js/difftool-no-index' · b72e9071
      Junio C Hamano authored
      "git difftool" can now run outside a repository.
      
      * js/difftool-no-index:
        difftool: allow running outside Git worktrees with --no-index
        parse-options: make OPT_ARGUMENT() more useful
        difftool: remove obsolete (and misleading) comment
      b72e9071
    • Junio C Hamano's avatar
      Merge branch 'pw/cherry-pick-continue' · d2dba18c
      Junio C Hamano authored
      "git cherry-pick --options A..B", after giving control back to the
      user to ask help resolving a conflicted step, did not honor the
      options it originally received, which has been corrected.
      
      * pw/cherry-pick-continue:
        cherry-pick --continue: remember options
        cherry-pick: demonstrate option amnesia
        sequencer: break some long lines
      d2dba18c
    • Junio C Hamano's avatar
      Merge branch 'nd/commit-a-with-paths-msg-update' · e313c768
      Junio C Hamano authored
      The message given when "git commit -a <paths>" errors out has been
      updated.
      
      * nd/commit-a-with-paths-msg-update:
        commit: improve error message in "-a <paths>" case
      e313c768
    • Junio C Hamano's avatar
      Merge branch 'jk/server-info-rabbit-hole' · 776f3e1f
      Junio C Hamano authored
      Code clean-up around a much-less-important-than-it-used-to-be
      update_server_info() funtion.
      
      * jk/server-info-rabbit-hole:
        update_info_refs(): drop unused force parameter
        server-info: drop objdirlen pointer arithmetic
        server-info: drop nr_alloc struct member
        server-info: use strbuf to read old info/packs file
        server-info: simplify cleanup in parse_pack_def()
        server-info: fix blind pointer arithmetic
        http: simplify parsing of remote objects/info/packs
        packfile: fix pack basename computation
        midx: check both pack and index names for containment
        t5319: drop useless --buffer from cat-file
        t5319: fix bogus cat-file argument
        pack-revindex: open index if necessary
        packfile.h: drop extern from function declarations
      776f3e1f
    • Junio C Hamano's avatar
      Merge branch 'nd/diff-parseopt-4' · dcd6a8c0
      Junio C Hamano authored
      Fourth batch to teach the diff machinery to use the parse-options
      API.
      
      * nd/diff-parseopt-4:
        am: avoid diff_opt_parse()
        diff --no-index: use parse_options() instead of diff_opt_parse()
        range-diff: use parse_options() instead of diff_opt_parse()
        diff.c: allow --no-color-moved-ws
        diff-parseopt: convert --color-moved-ws
        diff-parseopt: convert --[no-]color-moved
        diff-parseopt: convert --inter-hunk-context
        diff-parseopt: convert --no-prefix
        diff-parseopt: convert --line-prefix
        diff-parseopt: convert --[src|dst]-prefix
        diff-parseopt: convert --[no-]abbrev
        diff-parseopt: convert --diff-filter
        diff-parseopt: convert --find-object
        diff-parseopt: convert -O
        diff-parseopt: convert --pickaxe-all|--pickaxe-regex
        diff-parseopt: convert -S|-G
        diff-parseopt: convert -l
        diff-parseopt: convert -z
        diff-parseopt: convert --ita-[in]visible-in-index
        diff-parseopt: convert --ws-error-highlight
      dcd6a8c0
    • Junio C Hamano's avatar
      Merge branch 'jk/unused-params-even-more' · 42844973
      Junio C Hamano authored
      Code cleanup.
      
      * jk/unused-params-even-more:
        parse_opt_ref_sorting: always use with NONEG flag
        pretty: drop unused strbuf from parse_padding_placeholder()
        pretty: drop unused "type" parameter in needs_rfc2047_encoding()
        parse-options: drop unused ctx parameter from show_gitcomp()
        fetch_pack(): drop unused parameters
        report_path_error(): drop unused prefix parameter
        unpack-trees: drop unused error_type parameters
        unpack-trees: drop name_entry from traverse_by_cache_tree()
        test-date: drop unused "now" parameter from parse_dates()
        update-index: drop unused prefix_length parameter from do_reupdate()
        log: drop unused "len" from show_tagger()
        log: drop unused rev_info from early output
        revision: drop some unused "revs" parameters
      42844973
    • Junio C Hamano's avatar
      Merge branch 'sg/test-atexit' · 579b75ad
      Junio C Hamano authored
      Test framework update to more robustly clean up leftover files and
      processes after tests are done.
      
      * sg/test-atexit:
        t9811-git-p4-label-import: fix pipeline negation
        git p4 test: disable '-x' tracing in the p4d watchdog loop
        git p4 test: simplify timeout handling
        git p4 test: clean up the p4d cleanup functions
        git p4 test: use 'test_atexit' to kill p4d and the watchdog process
        t0301-credential-cache: use 'test_atexit' to stop the credentials helper
        tests: use 'test_atexit' to stop httpd
        git-daemon: use 'test_atexit` to stop 'git-daemon'
        test-lib: introduce 'test_atexit'
        t/lib-git-daemon: make sure to kill the 'git-daemon' process
        test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
      579b75ad
    • Junio C Hamano's avatar
      Merge branch 'ag/sequencer-reduce-rewriting-todo' · e62e68d3
      Junio C Hamano authored
      The scripted version of "git rebase -i" wrote and rewrote the todo
      list many times during a single step of its operation, and the
      recent C-rewrite made a faithful conversion of the logic to C.  The
      implementation has been updated to carry necessary information
      around in-core to avoid rewriting the same file over and over
      unnecessarily.
      
      * ag/sequencer-reduce-rewriting-todo:
        rebase--interactive: move transform_todo_file()
        sequencer: use edit_todo_list() in complete_action()
        rebase-interactive: rewrite edit_todo_list() to handle the initial edit
        rebase-interactive: append_todo_help() changes
        rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
        sequencer: refactor skip_unnecessary_picks() to work on a todo_list
        rebase--interactive: move rearrange_squash_in_todo_file()
        rebase--interactive: move sequencer_add_exec_commands()
        sequencer: change complete_action() to use the refactored functions
        sequencer: make sequencer_make_script() write its script to a strbuf
        sequencer: refactor rearrange_squash() to work on a todo_list
        sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
        sequencer: refactor check_todo_list() to work on a todo_list
        sequencer: introduce todo_list_write_to_file()
        sequencer: refactor transform_todos() to work on a todo_list
        sequencer: remove the 'arg' field from todo_item
        sequencer: make the todo_list structure public
        sequencer: changes in parse_insn_buffer()
      e62e68d3
    • Junio C Hamano's avatar
      Merge branch 'bp/post-index-change-hook' · 5795a75f
      Junio C Hamano authored
      A new hook "post-index-change" is called when the on-disk index
      file changes, which can help e.g. a virtualized working tree
      implementation.
      
      * bp/post-index-change-hook:
        read-cache: add post-index-change hook
      5795a75f
  2. 22 Apr, 2019 4 commits
    • Junio C Hamano's avatar
      The sixth batch · 14c0f8d3
      Junio C Hamano authored
      Signed-off-by: 's avatarJunio C Hamano <gitster@pobox.com>
      14c0f8d3
    • Junio C Hamano's avatar
      Merge branch 'da/smerge' · 5116eab7
      Junio C Hamano authored
      "git mergetool" learned to offer Sublime Merge (smerge) as one of
      its backends.
      
      * da/smerge:
        contrib/completion: add smerge to the mergetool completion candidates
        mergetools: add support for smerge (Sublime Merge)
      5116eab7
    • Junio C Hamano's avatar
      Merge branch 'dl/flex-str-cocci' · 5f65d7d9
      Junio C Hamano authored
      Code clean-up.
      
      * dl/flex-str-cocci:
        cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
        midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
      5f65d7d9
    • Junio C Hamano's avatar
      Merge branch 'js/spell-out-options-in-tests' · 39e4773d
      Junio C Hamano authored
      The tests have been updated not to rely on the abbreviated option
      names the parse-options API offers, to protect us from an
      abbreviated form of an option that used to be unique within the
      command getting non-unique when a new option that share the same
      prefix is added.
      
      * js/spell-out-options-in-tests:
        tests: disallow the use of abbreviated options (by default)
        tests (pack-objects): use the full, unabbreviated `--revs` option
        tests (status): spell out the `--find-renames` option in full
        tests (push): do not abbreviate the `--follow-tags` option
        t5531: avoid using an abbreviated option
        t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
        tests (rebase): spell out the `--force-rebase` option
        tests (rebase): spell out the `--keep-empty` option
      39e4773d