summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorLines
6 daysMerge branch 'js/parseopt-subcommand-autocorrection' into seenseenJunio C Hamano-0/+2
The parse-options library learned to auto-correct misspelt subcommand name. * js/parseopt-subcommand-autocorrection: SQUASH???
6 daysMerge branch 'mm/line-log-use-standard-diff-output' into seenJunio C Hamano-217/+864
The way "git log -L<range>:<file>" feature is bolted onto the log/diff machinery is being reworked a bit to make the feature compatible with more diff options, like -S/G. * mm/line-log-use-standard-diff-output: doc: note that -L supports patch formatting and pickaxe options t4211: add tests for -L with standard diff options line-log: route -L output through the standard diff pipeline line-log: fix crash when combined with pickaxe options
6 daysMerge branch 'ng/submodule-default-remote' into seenJunio C Hamano-4/+330
Instead of hardcoded 'origin', use the configured default remote when fetching from submodules. Comments? * ng/submodule-default-remote: submodule: fetch missing objects from default remote
6 daysMerge branch 'ps/history-split' into seenJunio C Hamano-341/+1592
"git history" learned the "split" subcommand. Comments? * ps/history-split: builtin/history: implement "split" subcommand builtin/history: split out extended function to create commits cache-tree: allow writing in-memory index as tree add-patch: allow disabling editing of hunks add-patch: add support for in-memory index patching add-patch: remove dependency on "add-interactive" subsystem add-patch: split out `struct interactive_options` add-patch: split out header from "add-interactive.h"
6 daysMerge branch 'vp/http-rate-limit-retries' into seenJunio C Hamano-35/+623
The HTTP transport learned to react to "429 Too Many Requests". * vp/http-rate-limit-retries: http: add support for HTTP 429 rate limit retries remote-curl: introduce show_http_message_fatal() helper strbuf_attach: fix call sites to pass correct alloc strbuf: pass correct alloc to strbuf_attach() in strbuf_reencode()
6 daysMerge branch 'jc/neuter-sideband-post-3.0' into seenJunio C Hamano-8/+28
The final step, split from earlier attempt by Dscho, to loosen the sideband restriction for now and tighten later at Git v3.0 boundary. * jc/neuter-sideband-post-3.0: sideband: delay sanitizing by default to Git v3.0
6 daysMerge branch 'ab/clone-default-object-filter' into seenJunio C Hamano-0/+202
"git clone" learns to pay attention to "clone.<url>.defaultObjectFilter" configuration and behave as if the "--filter=<filter-spec>" option was given on the command line. Comments? * ab/clone-default-object-filter: clone: add clone.<url>.defaultObjectFilter config
6 daysMerge branch 'cs/subtree-split-recursion' into seenJunio C Hamano-7/+88
When processing large history graphs on Debian or Ubuntu, "git subtree" can die with a "recursion depth reached" error. Comments? * cs/subtree-split-recursion: contrib/subtree: reduce recursion during split contrib/subtree: functionalize split traversal contrib/subtree: reduce function side-effects
6 daysMerge branch 'ar/parallel-hooks' into seenJunio C Hamano-37/+792
* ar/parallel-hooks: hook: allow runtime enabling extensions.hookStdoutToStderr hook: introduce extensions.hookStdoutToStderr hook: add per-event jobs config hook: add -j/--jobs option to git hook run hook: mark non-parallelizable hooks hook: allow parallel hook execution hook: parse the hook.jobs config config: add a repo_config_get_uint() helper repository: fix repo_init() memleak due to missing _clear()
6 daysMerge branch 'ar/config-hook-cleanups' into seenJunio C Hamano-131/+321
Code clean-up around the recent "hooks defined in config" topic. * ar/config-hook-cleanups: hook: show disabled hooks in "git hook list" hook: show config scope in git hook list hook: refactor hook_config_cache from strmap to named struct t1800: add test to verify hook execution ordering hook: make consistent use of friendly-name in docs hook: replace hook_list_clear() -> string_list_clear_func() hook: detect & emit two more bugs hook: rename cb_data_free/alloc -> hook_data_free/alloc hook: fix minor style issues hook: move unsorted_string_list_remove() to string-list.[ch]
6 daysMerge branch 'js/parseopt-subcommand-autocorrection' (early part) into seenJunio C Hamano-140/+305
* 'js/parseopt-subcommand-autocorrection' (early part): help: add tests for subcommand autocorrection parseopt: enable subcommand autocorrection for git-remote and git-notes parseopt: autocorrect mistyped subcommands autocorrect: provide config resolution API autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINTONLY help: move tty check for autocorrection to autocorrect.c help: make autocorrect handling reusable parseopt: extract subcommand handling from parse_options_step()
6 daysMerge branch 'jt/fast-import-sign-again' into seenJunio C Hamano-99/+221
"git fast-import" learned to optionally replace signature on commits whose signature gets invalidated due to replaying by signing afresh. * jt/fast-import-sign-again: fast-import: add mode to sign commits with invalid signatures gpg-interface: introduce sign_buffer_with_key() commit: remove unused forward declaration
6 daysMerge branch 'ms/t7605-test-path-is-helpers' into seenJunio C Hamano-3/+3
Test updates. * ms/t7605-test-path-is-helpers: t7605: use test_path_is_file instead of test -f
6 daysMerge branch 'ty/mktree-wo-the-repository' into jchJunio C Hamano-10/+9
* ty/mktree-wo-the-repository: builtin/mktree: remove USE_THE_REPOSITORY_VARIABLE
6 daysMerge branch 'kh/doc-interpret-trailers-1' into jchJunio C Hamano-135/+156
Doc updates. * kh/doc-interpret-trailers-1: doc: config: convert trailers section to synopsis style doc: interpret-trailers: normalize and fill out options doc: interpret-trailers: convert to synopsis style
6 daysMerge branch 'ss/submodule--helper-use-xmalloc' into jchJunio C Hamano-1/+1
Code clean-up. * ss/submodule--helper-use-xmalloc: submodule--helper: replace malloc with xmalloc
6 daysMerge branch 'ps/unit-test-c-escape-names.txt' into jchJunio C Hamano-22/+53
The unit test helper function was taught to use backslash + mneomnic notation for certain control characters like "\t", instead of octal notation like "\011". * ps/unit-test-c-escape-names.txt: test-lib: print escape sequence names
6 daysMerge branch 'bb/imap-send-openssl-4.0-prep' into jchJunio C Hamano-9/+22
"imap-send" used to use functions whose use is going to be removed with OpenSSL 4.0; rewrite them using public API that has been available since OpenSSL 1.1 since 2016 or so. * bb/imap-send-openssl-4.0-prep: imap-send: move common code into function host_matches() imap-send: use the OpenSSL API to access the subject common name imap-send: use the OpenSSL API to access the subject alternative names
6 daysMerge branch 'ps/build-tweaks' into jchJunio C Hamano-99/+123
Tweak the build infrastructure by moving tools around. * ps/build-tweaks: meson: precompile "git-compat-util.h" meson: compile compatibility sources separately git-compat-util.h: move warning infra to prepare for PCHs builds: move build scripts into "tools/" contrib: move "update-unicode.sh" script into "tools/" contrib: move "coverage-diff.sh" script into "tools/" contrib: move "coccinelle/" directory into "tools/" Introduce new "tools/" directory
6 daysMerge branch 'ps/object-counting' into jchJunio C Hamano-118/+301
The logic to count objects has been cleaned up. * ps/object-counting: odb: introduce generic object counting odb/source: introduce generic object counting object-file: generalize counting objects object-file: extract logic to approximate object count packfile: extract logic to count number of objects odb: stop including "odb/source.h"
6 daysMerge branch 'ty/doc-diff-u-wo-number' into jchJunio C Hamano-4/+8
"git diff -U<num>" was too lenient in its command line parsing and took an empty strings as a valid <num>. * ty/doc-diff-u-wo-number: diff: document -U without <n> as using default context
6 daysMerge branch 'mf/apply-p-no-atoi' into jchJunio C Hamano-1/+38
"git apply -p<n>" parses <n> more carefully now. * mf/apply-p-no-atoi: apply.c: fix -p argument parsing
6 daysMerge branch 'jc/doc-wholesale-replace-before-next' into jchJunio C Hamano-0/+12
Doc update. * jc/doc-wholesale-replace-before-next: SubmittingPatches: spell out "replace fully to pretend to be perfect"
6 daysMerge branch 'cf/constness-fixes' into jchJunio C Hamano-6/+6
Small code clean-up around constness area. * cf/constness-fixes: dir: avoid -Wdiscarded-qualifiers in remove_path() bloom: remove a misleading const qualifier
6 daysMerge branch 'pt/promisor-lazy-fetch-no-recurse' into jchJunio C Hamano-0/+67
The mechanism to avoid recursive lazy-fetch from promisor remotes were not propagated properly to child "git fetch" processes, which has been corrected. Comments? * pt/promisor-lazy-fetch-no-recurse: promisor-remote: prevent lazy-fetch recursion in child fetch
6 daysMerge branch 'pt/fsmonitor-linux' into jchJunio C Hamano-63/+1262
The fsmonitor daemon has been implemented for Linux. * pt/fsmonitor-linux: fsmonitor: convert shown khash to strset in do_handle_client fsmonitor: add tests for Linux fsmonitor: add timeout to daemon stop command fsmonitor: close inherited file descriptors and detach in daemon run-command: add close_fd_above_stderr option fsmonitor: implement filesystem change listener for Linux fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.c fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.c fsmonitor: use pthread_cond_timedwait for cookie wait compat/win32: add pthread_cond_timedwait fsmonitor: fix hashmap memory leak in fsmonitor_run_daemon fsmonitor: fix khash memory leak in do_handle_client
6 daysMerge branch 'ps/upload-pack-buffer-more-writes' into jchJunio C Hamano-47/+239
Reduce system overhead "git upload-pack" spends relaying "git pack-objects" output to the "git fetch" running on the other end of the connection. * ps/upload-pack-buffer-more-writes: builtin/pack-objects: reduce lock contention when writing packfile data csum-file: drop `hashfd_throughput()` csum-file: introduce `hashfd_ext()` sideband: use writev(3p) to send pktlines wrapper: introduce writev(3p) wrappers compat/posix: introduce writev(3p) wrapper upload-pack: reduce lock contention when writing packfile data upload-pack: prefer flushing data over sending keepalive upload-pack: adapt keepalives based on buffering upload-pack: fix debug statement when flushing packfile data
6 daysMerge branch 'tb/incremental-midx-part-3.2' into jchJunio C Hamano-158/+891
Further work on incremental repacking using MIDX/bitmap * tb/incremental-midx-part-3.2: midx: enable reachability bitmaps during MIDX compaction midx: implement MIDX compaction t/helper/test-read-midx.c: plug memory leak when selecting layer midx-write.c: factor fanout layering from `compute_sorted_entries()` midx-write.c: enumerate `pack_int_id` values directly midx-write.c: extract `fill_pack_from_midx()` midx-write.c: introduce `midx_pack_perm()` helper midx: do not require packs to be sorted in lexicographic order midx-write.c: introduce `struct write_midx_opts` midx-write.c: don't use `pack_perm` when assigning `bitmap_pos` t/t5319-multi-pack-index.sh: fix copy-and-paste error in t5319.39 git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h' git-multi-pack-index(1): remove non-existent incompatibility builtin/multi-pack-index.c: make '--progress' a common option midx: introduce `midx_get_checksum_hex()` midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()` midx: mark `get_midx_checksum()` arguments as const
6 daysMerge branch 'lc/rebase-trailer' into jchJunio C Hamano-88/+460
"git rebase" learns "--trailer" command to drive the interpret-trailers machinery. Comments? * lc/rebase-trailer: rebase: support --trailer commit, tag: parse --trailer with OPT_STRVEC trailer: append trailers without fork/exec trailer: libify a couple of functions interpret-trailers: refactor create_in_place_tempfile() interpret-trailers: factor trailer rewriting
6 daysMerge branch 'ac/help-sort-correctly' into jchJunio C Hamano-52/+78
The code in "git help" that shows configuration items in sorted order was awkwardly organized and prone to bugs. * ac/help-sort-correctly: help: cleanup the contruction of keys_uniq
6 daysMerge branch 'jc/test-allow-sed-with-ere' into jchJunio C Hamano-2/+2
Adjust test-lint to allow "sed -E" to use ERE in the patterns. * jc/test-allow-sed-with-ere: t: allow use of "sed -E"
6 daysMerge branch 'sa/replay-revert' into jchJunio C Hamano-81/+319
"git replay" (experimental) learns, in addition to "pick" and "replay", a new operating mode "revert". * sa/replay-revert: replay: add --revert mode to reverse commit changes sequencer: extract revert message formatting into shared function
6 daysMerge branch 'yc/histogram-hunk-shift-fix' into jchJunio C Hamano-2/+210
The final clean-up phase of the diff output could turn the result of histogram diff algorithm suboptimal, which has been corrected. * yc/histogram-hunk-shift-fix: xdiff: re-diff shifted change groups when using histogram algorithm
6 daysMerge branch 'jc/neuter-sideband-fixup' into jchJunio C Hamano-2/+315
Try to resurrect and reboot a stalled "avoid sending risky escape sequences taken from sideband to the terminal" topic by Dscho. The plan is to keep it in 'next' long enough to see if anybody screams with the "everything dropped except for ANSI color escape sequence" default. Comments? * jc/neuter-sideband-fixup: sideband: drop 'default' configuration sideband: offer to configure sanitizing on a per-URL basis sideband: add options to allow more control sequences to be passed through sideband: do allow ANSI color sequences by default sideband: introduce an "escape hatch" to allow control characters sideband: mask control characters
6 days### match nextJunio C Hamano-0/+0
6 daysMerge branch 'bk/run-command-wo-the-repository' into jchJunio C Hamano-25/+34
The run_command() API lost its implicit dependence on the singleton the_repository instance. * bk/run-command-wo-the-repository: run-command: wean auto_maintenance() functions off the_repository run-command: wean start_command() off the_repository
6 daysMerge branch 'ps/editorconfig-unanchor' into jchJunio C Hamano-1/+5
Editorconfig filename patterns were specified incorrectly, making many source files inside subdirectories uncovered, which has been corrected. * ps/editorconfig-unanchor: editorconfig: fix style not applying to subdirs anymore
6 daysMerge branch 'ss/t3200-test-zero-oid' into jchJunio C Hamano-1/+2
A test now use symbolic constant $ZERO_OID instead of 40 "0" to work better with SHA-256 as well as SHA-1. * ss/t3200-test-zero-oid: t3200: replace hardcoded null OID with $ZERO_OID
6 daysMerge branch 'dd/list-objects-filter-options-wo-strbuf-split' into jchJunio C Hamano-37/+33
Revamp the way combined option filter is parsed. * dd/list-objects-filter-options-wo-strbuf-split: list-objects-filter-options: avoid strbuf_split_str() worktree: do not pass strbuf by value
6 daysMerge branch 'ps/t9200-test-path-is-helpers' into jchJunio C Hamano-8/+12
Test update. * ps/t9200-test-path-is-helpers: t9200: replace test -f with modern path helper t9200: handle missing CVS with skip_all
6 daysMerge branch 'ty/patch-ids-document-lazy-eval' into jchJunio C Hamano-1/+8
In-code comment update to record a design decision to allow lazy computation of patch IDs. * ty/patch-ids-document-lazy-eval: patch-ids: document intentional const-casting in patch_id_neq()
6 daysMerge branch 'rs/history-ergonomics-updates-fix' into jchJunio C Hamano-1/+1
Fix use of uninitialized variable. * rs/history-ergonomics-updates-fix: history: initialize rev_info in cmd_history_reword()
6 daysMerge branch 'jk/unleak-mmap' into jchJunio C Hamano-21/+26
Plug a few leaks where mmap'ed memory regions are not unmapped. * jk/unleak-mmap: meson: turn on NO_MMAP when building with LSan Makefile: turn on NO_MMAP when building with LSan object-file: fix mmap() leak in odb_source_loose_read_object_stream() pack-revindex: avoid double-loading .rev files check_connected(): fix leak of pack-index mmap check_connected(): delay opening new_pack
6 daysMerge branch 'ty/setup-error-tightening' into jchJunio C Hamano-14/+121
While discovering a ".git" directory, the code treats any stat() failure as a sign that a filesystem entity .git does not exist there, and ignores ".git" that is not a "gitdir" file or a directory. The code has been tightened to notice and report filesystem corruption better. * ty/setup-error-tightening: setup: improve error diagnosis for invalid .git files
6 daysMerge branch 'os/doc-git-custom-commands' into jchJunio C Hamano-1/+4
Doc update. * os/doc-git-custom-commands: doc: make it easier to find custom command information
6 daysMerge branch 'fp/t3310-unhide-git-failures' into jchJunio C Hamano-18/+29
The construct 'test "$(command)" = expectation' loses the exit status from the command, which has been fixed by breaking up the statement into pieces. * fp/t3310-unhide-git-failures: t3310: avoid hiding failures from rev-parse in command substitutions
6 daysMerge branch 'mf/format-patch-cover-letter-format' into jchJunio C Hamano-14/+212
"git format-patch --cover-letter" learns to use a simpler format instead of the traditional shortlog format to list its commits with a new --cover-letter-format option and format.commitListFormat configuration variable. * mf/format-patch-cover-letter-format: docs: add usage for the cover-letter fmt feature format-patch: add commitListFormat config format-patch: add ability to use alt cover format format-patch: move cover letter summary generation pretty.c: add %(count) and %(total) placeholders
6 daysMerge branch 'jt/repo-structure-extrema' into jchJunio C Hamano-115/+352
"git repo structure" command learns to report maximum values on various aspects of objects it inspects. * jt/repo-structure-extrema: builtin/repo: find tree with most entries builtin/repo: find commit with most parents builtin/repo: add OID annotations to table output builtin/repo: collect largest inflated objects builtin/repo: add helper for printing keyvalue output builtin/repo: update stats for each object
6 daysMerge branch 'sp/wt-status-wo-the-repository' into jchJunio C Hamano-31/+31
Reduce dependence on the global the_hash_algo and the_repository variables of wt-status code path. * sp/wt-status-wo-the-repository: wt-status: use hash_algo from local repository instead of global the_hash_algo wt-status: replace uses of the_repository with local repository instances wt-status: pass struct repository through function parameters
6 daysMerge branch 'ps/odb-sources' into jchJunio C Hamano-354/+953
The object source API is getting restructured to allow plugging new backends. * ps/odb-sources: odb/source: make `begin_transaction()` function pluggable odb/source: make `write_alternate()` function pluggable odb/source: make `read_alternates()` function pluggable odb/source: make `write_object_stream()` function pluggable odb/source: make `write_object()` function pluggable odb/source: make `freshen_object()` function pluggable odb/source: make `for_each_object()` function pluggable odb/source: make `read_object_stream()` function pluggable odb/source: make `read_object_info()` function pluggable odb/source: make `close()` function pluggable odb/source: make `reprepare()` function pluggable odb/source: make `free()` function pluggable odb/source: introduce source type for robustness odb: move reparenting logic into respective subsystems odb: embed base source in the "files" backend odb: introduce "files" source odb: split `struct odb_source` into separate header