This project is mirrored from Updated .
  1. 18 Oct, 2019 12 commits
  2. 15 Oct, 2019 22 commits
    • Junio C Hamano's avatar
      Ninth batch · 108b97dc
      Junio C Hamano authored
      Signed-off-by: default avatarJunio C Hamano <>
    • Junio C Hamano's avatar
      Merge branch 'jk/coc' · cbe8cdd3
      Junio C Hamano authored
      Code-of-conduct document.
      * jk/coc:
        CODE_OF_CONDUCT: mention individual project-leader emails
        add a Code of Conduct document
    • Junio C Hamano's avatar
      Merge branch 'js/trace2-fetch-push' · 3b9ec279
      Junio C Hamano authored
      Dev support.
      * js/trace2-fetch-push:
        transport: push codepath can take arbitrary repository
        push: add trace2 instrumentation
        fetch: add trace2 instrumentation
    • Junio C Hamano's avatar
      Merge branch 'jt/push-avoid-lazy-fetch' · c7d2cede
      Junio C Hamano authored
      Performance hack.
      * jt/push-avoid-lazy-fetch:
        send-pack: never fetch when checking exclusions
    • Junio C Hamano's avatar
      Merge branch 'dl/format-patch-doc-test-cleanup' · 1ef3bd36
      Junio C Hamano authored
      test cleanup.
      * dl/format-patch-doc-test-cleanup:
        t4014: treat rev-list output as the expected value
    • Junio C Hamano's avatar
      Merge branch 'js/xdiffi-comment-updates' · eb3de5b8
      Junio C Hamano authored
      Comment update.
      * js/xdiffi-comment-updates:
        xdiffi: fix typos and touch up comments
    • Junio C Hamano's avatar
      Merge branch 'dl/t0000-skip-test-test' · 4e8371ec
      Junio C Hamano authored
      test update.
      * dl/t0000-skip-test-test:
        t0000: cover GIT_SKIP_TESTS blindspots
    • Junio C Hamano's avatar
      Merge branch 'tg/range-diff-output-update' · b6d712fa
      Junio C Hamano authored
      "git range-diff" failed to handle mode-only change, which has been
      * tg/range-diff-output-update:
        range-diff: don't segfault with mode-only changes
    • Junio C Hamano's avatar
      Merge branch 'gs/sq-quote-buf-pretty' · 77458870
      Junio C Hamano authored
      Pretty-printed command line formatter (used in e.g. reporting the
      command being run by the tracing API) had a bug that lost an
      argument that is an empty string, which has been corrected.
      * gs/sq-quote-buf-pretty:
        sq_quote_buf_pretty: don't drop empty arguments
    • Junio C Hamano's avatar
      Merge branch 'ew/hashmap' · 5efabc7e
      Junio C Hamano authored
      Code clean-up of the hashmap API, both users and implementation.
      * ew/hashmap:
        hashmap_entry: remove first member requirement from docs
        hashmap: remove type arg from hashmap_{get,put,remove}_entry
        OFFSETOF_VAR macro to simplify hashmap iterators
        hashmap: introduce hashmap_free_entries
        hashmap: hashmap_{put,remove} return hashmap_entry *
        hashmap: use *_entry APIs for iteration
        hashmap_cmp_fn takes hashmap_entry params
        hashmap_get{,_from_hash} return "struct hashmap_entry *"
        hashmap: use *_entry APIs to wrap container_of
        hashmap_get_next returns "struct hashmap_entry *"
        introduce container_of macro
        hashmap_put takes "struct hashmap_entry *"
        hashmap_remove takes "const struct hashmap_entry *"
        hashmap_get takes "const struct hashmap_entry *"
        hashmap_add takes "struct hashmap_entry *"
        hashmap_get_next takes "const struct hashmap_entry *"
        hashmap_entry_init takes "struct hashmap_entry *"
        packfile: use hashmap_entry in delta_base_cache_entry
        coccicheck: detect hashmap_entry.hash assignment
        diff: use hashmap_entry_init on moved_entry.ent
    • Junio C Hamano's avatar
      Merge branch 'js/trace2-cap-max-output-files' · d0ce4d90
      Junio C Hamano authored
      The trace2 output, when sending them to files in a designated
      directory, can populate the directory with too many files; a
      mechanism is introduced to set the maximum number of files and
      discard further logs when the maximum is reached.
      * js/trace2-cap-max-output-files:
        trace2: write discard message to sentinel files
        trace2: discard new traces if target directory has too many files
        docs: clarify trace2 version invariants
        docs: mention trace2 target-dir mode in git-config
    • Junio C Hamano's avatar
      Merge branch 'am/t0028-utf16-tests' · 6ed610b9
      Junio C Hamano authored
      Test fixes.
      * am/t0028-utf16-tests:
        t0028: add more tests
        t0028: fix test for UTF-16-LE-BOM
    • Junio C Hamano's avatar
      Merge branch 'dl/octopus-graph-bug' · 5b900fb8
      Junio C Hamano authored
      "git log --graph" for an octopus merge is sometimes colored
      incorrectly, which is demonstrated and documented but not yet
      * dl/octopus-graph-bug:
        t4214: demonstrate octopus graph coloring failure
        t4214: explicitly list tags in log
        t4214: generate expect in their own test cases
        t4214: use test_merge
        test-lib: let test_merge() perform octopus merges
    • Junio C Hamano's avatar
      Merge branch 'en/fast-imexport-nested-tags' · 16d9d718
      Junio C Hamano authored
      Updates to fast-import/export.
      * en/fast-imexport-nested-tags:
        fast-export: handle nested tags
        t9350: add tests for tags of things other than a commit
        fast-export: allow user to request tags be marked with --mark-tags
        fast-export: add support for --import-marks-if-exists
        fast-import: add support for new 'alias' command
        fast-import: allow tags to be identified by mark labels
        fast-import: fix handling of deleted tags
        fast-export: fix exporting a tag and nothing else
    • Junio C Hamano's avatar
      Merge branch 'js/azure-pipelines-msvc' · 6d5291be
      Junio C Hamano authored
      CI updates.
      * js/azure-pipelines-msvc:
        ci: also build and test with MS Visual Studio on Azure Pipelines
        ci: really use shallow clones on Azure Pipelines
        tests: let --immediate and --write-junit-xml play well together
        test-tool run-command: learn to run (parts of) the testsuite
        vcxproj: include more generated files
        vcxproj: only copy `git-remote-http.exe` once it was built
        msvc: work around a bug in GetEnvironmentVariable()
        msvc: handle DEVELOPER=1
        msvc: ignore some libraries when linking
        compat/win32/path-utils.h: add #include guards
        winansi: use FLEX_ARRAY to avoid compiler warning
        msvc: avoid using minus operator on unsigned types
        push: do not pretend to return `int` from `die_push_simple()`
    • Junio C Hamano's avatar
      Merge branch 'gs/commit-graph-trace-with-cmd' · ccc28991
      Junio C Hamano authored
      Dev support.
      * gs/commit-graph-trace-with-cmd:
        commit-graph: emit trace2 cmd_mode for each sub-command
    • Junio C Hamano's avatar
      Merge branch 'js/fetch-jobs' · d96e31e3
      Junio C Hamano authored
      "git fetch --jobs=<n>" allowed <n> parallel jobs when fetching
      submodules, but this did not apply to "git fetch --multiple" that
      fetches from multiple remote repositories.  It now does.
      * js/fetch-jobs:
        fetch: let --jobs=<n> parallelize --multiple, too
    • Junio C Hamano's avatar
      Merge branch 'en/merge-recursive-cleanup' · 280bd445
      Junio C Hamano authored
      The merge-recursive machiery is one of the most complex parts of
      the system that accumulated cruft over time.  This large series
      cleans up the implementation quite a bit.
      * en/merge-recursive-cleanup: (26 commits)
        merge-recursive: fix the fix to the diff3 common ancestor label
        merge-recursive: fix the diff3 common ancestor label for virtual commits
        merge-recursive: alphabetize include list
        merge-recursive: add sanity checks for relevant merge_options
        merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
        merge-recursive: split internal fields into a separate struct
        merge-recursive: avoid losing output and leaking memory holding that output
        merge-recursive: comment and reorder the merge_options fields
        merge-recursive: consolidate unnecessary fields in merge_options
        merge-recursive: move some definitions around to clean up the header
        merge-recursive: rename merge_options argument to opt in header
        merge-recursive: rename 'mrtree' to 'result_tree', for clarity
        merge-recursive: use common name for ancestors/common/base_list
        merge-recursive: fix some overly long lines
        cache-tree: share code between functions writing an index as a tree
        merge-recursive: don't force external callers to do our logging
        merge-recursive: remove useless parameter in merge_trees()
        merge-recursive: exit early if index != head
        Ensure index matches head before invoking merge machinery, round N
        merge-recursive: remove another implicit dependency on the_repository
    • René Scharfe's avatar
      remote-curl: use argv_array in parse_push() · 062a309d
      René Scharfe authored
      Use argv_array to build an array of strings instead of open-coding it.
      This simplifies the code a bit.
      We also need to make the specs parameter of push(), push_dav() and
      push_git() const to match the argv member of the argv_array.  That's
      fine, as all three only actually read from the specs array anyway.
      Signed-off-by: default avatarRené Scharfe <>
      Signed-off-by: default avatarJunio C Hamano <>
    • René Scharfe's avatar
      column: use utf8_strnwidth() to strip out ANSI color escapes · a81e42d2
      René Scharfe authored
      Make use of utf8_strnwidth()'s feature to skip ANSI escape sequences
      instead of open-coding it.  This shortens the code and makes it more
      This changes the behavior, though: The old code skips all kinds of
      Control Sequence Introducer sequences, while utf8_strnwidth() only skips
      the Select Graphic Rendition kind, i.e. those ending with "m".  They are
      used for specifying color and font attributes like boldness.  The only
      other kind of escape sequence we print in Git is Erase in Line, ending
      with "K".  That's not used for columnar output, so this difference
      actually doesn't matter here.
      Signed-off-by: default avatarRené Scharfe <>
      Signed-off-by: default avatarJunio C Hamano <>
    • René Scharfe's avatar
      http-push: simplify deleting a list item · 5cc6a4be
      René Scharfe authored
      The first step for deleting an item from a linked list is to locate the
      item preceding it.  Be more careful in release_request() and handle an
      empty list.  This only has consequences for invalid delete requests
      (removing the same item twice, or deleting an item that was never added
      to the list), but simplifies the loop condition as well as the check
      after the loop.
      Once we found the item's predecessor in the list, update its next
      pointer to skip over the item, which removes it from the list.  In other
      words: Make the item's successor the successor of its predecessor.
      (At this point entry->next == request and prev->next == lock,
      respectively.)  This is a bit simpler and saves a pointer dereference.
      Signed-off-by: default avatarRené Scharfe <>
      Signed-off-by: default avatarJunio C Hamano <>
    • Jakob Jarmar's avatar
      stash: avoid recursive hard reset on submodules · 556895d0
      Jakob Jarmar authored
      git stash push does not recursively stash submodules, but if
      submodule.recurse is set, it may recursively reset --hard them. Having
      only the destructive action recurse is likely to be surprising
      behaviour, and unlikely to be desirable, so the easiest fix should be to
      ensure that the call to git reset --hard never recurses into submodules.
      This matches the behavior of check_changes_tracked_files, which ignores
      Signed-off-by: default avatarJakob Jarmar <>
      Signed-off-by: default avatarJunio C Hamano <>
  3. 12 Oct, 2019 4 commits
  4. 11 Oct, 2019 2 commits