Version v2.43.0; changes since v2.43.0-rc2: ------------------------------------------- Alexander Shopov (1): l10n: bg.po: Updated Bulgarian translation (5579t) Arkadii Yakovets (1): l10n: update uk localization for v2.43 Bagas Sanjaya (1): l10n: po-id for 2.43 (round 1) Emir SARI (1): l10n: tr: v2.43.0 Jean-Noël Avila (1): l10n: fr: v2.43.0 rnd 2 Jordi Mas (1): l10n: Update Catalan translation Junio C Hamano (1): Git 2.43 Peter Krefting (1): l10n: sv.po: Update Swedish translation (5579t) Ralf Thielow (1): l10n: Update German translation Teng Long (1): l10n: zh_CN: for git 2.43.0-rc1 Todd Zullinger (1): send-email: remove stray characters from usage Victoria Dye (1): glossary: add definitions for dereference & peel Yi-Jyun Pan (1): l10n: zh-TW: Git 2.43.0-rc1 Version v2.43.0-rc2; changes since v2.43.0-rc1: ----------------------------------------------- Elijah Newren (1): RelNotes: minor wording fixes in 2.43.0 release notes Junio C Hamano (1): Git 2.43-rc2 Version v2.43.0-rc1; changes since v2.43.0-rc0: ----------------------------------------------- Aditya Neelamraju (1): clang-format: fix typo in comment Andrei Rybak (1): SubmittingPatches: call gitk's command "Copy commit reference" Emily Shaffer (2): t0091-bugreport: stop using i18ngrep bugreport: reject positional arguments Jacob Stopak (1): Include gettext.h in MyFirstContribution tutorial Jeff King (1): t: avoid perl's pack/unpack "Q" specifier Johannes Schindelin (2): max_tree_depth: lower it for MSVC to avoid stack overflows ci: upgrade to using macos-13 Junio C Hamano (6): grep: -f is relative to $cwd test framework: further deprecate test_i18ngrep tests: teach callers of test_i18ngrep to use test_grep A bit more before -rc1 Prepare for -rc1 Git 2.43-rc1 Karthik Nayak (3): revision: rename bit to `do_not_die_on_missing_objects` rev-list: move `show_commit()` to the bottom rev-list: add commit object support in `--missing` option Linus Arver (1): strvec: drop unnecessary include of hex.h Martin Ågren (1): git-merge-file doc: drop "-file" from argument placeholders Michael Strawbridge (1): send-email: move validation code below process_address_list Patrick Steinhardt (18): commit-graph: introduce envvar to disable commit existence checks commit: detect commits that exist in commit-graph but not in the ODB builtin/show-ref: convert pattern to a local variable builtin/show-ref: split up different subcommands builtin/show-ref: fix leaking string buffer builtin/show-ref: fix dead code when passing patterns builtin/show-ref: refactor `--exclude-existing` options builtin/show-ref: stop using global variable to count matches builtin/show-ref: stop using global vars for `show_one()` builtin/show-ref: refactor options for patterns subcommand builtin/show-ref: ensure mutual exclusiveness of subcommands builtin/show-ref: explicitly spell out different modes in synopsis builtin/show-ref: add new mode to check for reference existence t: use git-show-ref(1) to check for ref existence test-bloom: stop setting up Git directory twice shallow: fix memory leak when registering shallow roots setup: refactor `upgrade_repository_format()` to have common exit setup: fix leaking repository format René Scharfe (4): parse-options: make CMDMODE errors more precise am: simplify --show-current-patch handling am, rebase: fix arghelp syntax of --empty reflog: fix expire --single-worktree Robert Coup (1): upload-pack: add tracing for fetches Taylor Blau (4): Documentation/gitformat-pack.txt: fix typo Documentation/gitformat-pack.txt: fix incorrect MIDX documentation list-objects: drop --unpacked non-commit objects from results pack-bitmap: drop --unpacked non-commit objects from results Todd Zullinger (2): RelNotes: minor typo fixes in 2.43.0 draft RelNotes: improve wording of credential helper notes brian m. carlson (1): merge-file: add an option to process object IDs Version v2.43.0-rc0; changes since v2.42.1: ------------------------------------------- Alyssa Ross (1): diff: fix --merge-base with annotated tags Andy Koppe (8): pretty-formats: enclose options in angle brackets decorate: refactor format_decorations() decorate: avoid some unnecessary color overhead decorate: color each token separately pretty: add %(decorate[:]) format pretty: add pointer and tag options to %(decorate) decorate: use commit color for HEAD arrow pretty: fix ref filtering for %(decorate) formats Beat Bolli (1): unicode: update the width tables to Unicode 15.1 Calvin Wan (4): hex-ll: separate out non-hash-algo functions wrapper: reduce scope of remove_or_warn() config: correct bad boolean env value error message parse: separate out parsing functions from config.h Christian Couder (9): pack-objects: allow `--filter` without `--stdout` t/helper: add 'find-pack' test-tool repack: refactor finishing pack-objects command repack: refactor finding pack prefix pack-bitmap-write: rebuild using new bitmap when remapping repack: add `--filter=` option gc: add `gc.repackFilter` config option repack: implement `--filter-to` for storing filtered out objects gc: add `gc.repackFilterTo` config option Derrick Stolee (9): maintenance: add get_random_minute() maintenance: use random minute in launchctl scheduler maintenance: use random minute in Windows scheduler maintenance: use random minute in cron scheduler maintenance: swap method locations maintenance: use random minute in systemd scheduler maintenance: fix systemd schedule overlaps maintenance: update schedule before config mailmap: change primary address for Derrick Stolee Dorcas AnonoLitunya (1): t7601: use "test_path_is_file" etc. instead of "test -f" Dragan Simic (2): diff --stat: add config option to limit filename width diff --stat: set the width defaults in a helper function Drew DeVault (1): format-patch: --rfc honors what --subject-prefix sets Elijah Newren (25): documentation: wording improvements documentation: fix small error documentation: fix typos documentation: fix apostrophe usage documentation: add missing words documentation: remove extraneous words documentation: fix subject/verb agreement documentation: employ consistent verb tense for a list documentation: fix verb tense documentation: fix adjective vs. noun documentation: fix verb vs. noun documentation: fix singular vs. plural documentation: whitespace is already generally plural documentation: fix choice of article documentation: add missing article documentation: remove unnecessary hyphens documentation: add missing hyphens documentation: use clearer prepositions documentation: fix punctuation documentation: fix capitalization documentation: fix whitespace issues documentation: add some commas where they are helpful documentation: add missing fullstops documentation: add missing quotes documentation: add missing parenthesis Eric W. Biederman (1): bulk-checkin: only support blobs in index_bulk_checkin Eric Wong (1): treewide: fix various bugs w/ OpenSSL 3+ EVP API Isoken June Ibizugbe (1): builtin/branch.c: adjust error messages to coding guidelines Jan Alexander Steffens (heftig) (6): submodule--helper: use submodule_from_path in set-{url,branch} submodule--helper: return error from set-url when modifying failed t7419: actually test the branch switching t7419, t7420: use test_cmp_config instead of grepping .gitmodules t7419: test that we correctly handle renamed submodules t7420: test that we correctly handle renamed submodules Jason Hatton (1): Prevent git from rehashing 4GiB files Javier Mora (2): git-status.txt: fix minor asciidoc format issue doc/git-bisect: clarify `git bisect run` syntax Jeff King (96): sequencer: use repository parameter in short_commit_name() sequencer: mark repository argument as unused ref-filter: mark unused parameters in parser callbacks pack-bitmap: mark unused parameters in show_object callback worktree: mark unused parameters in each_ref_fn callback commit-graph: mark unused data parameters in generation callbacks ls-tree: mark unused parameter in callback stash: mark unused parameter in diff callback trace2: mark unused us_elapsed_absolute parameters trace2: mark unused config callback parameter test-trace2: mark unused argv/argc parameters grep: mark unused parameter in output function add-interactive: mark unused callback parameters negotiator/noop: mark unused callback parameters worktree: mark unused parameters in noop repair callback imap-send: mark unused parameters with NO_OPENSSL grep: mark unused parmaeters in pcre fallbacks credential: mark unused parameter in urlmatch callback fetch: mark unused parameter in ref_transaction callback bundle-uri: mark unused parameters in callbacks gc: mark unused descriptors in scheduler callbacks update-ref: mark unused parameter in parser callbacks merge: make xopts a strvec merge: simplify parsing of "-n" option format-patch: use OPT_STRING_LIST for to/cc options tree-walk: reduce stack size for recursive functions tree-walk: drop MAX_TRAVERSE_TREES macro tree-walk: rename "error" variable fsck: detect very large tree pathnames add core.maxTreeDepth config traverse_trees(): respect max_allowed_tree_depth read_tree(): respect max_allowed_tree_depth list-objects: respect max_allowed_tree_depth tree-diff: respect max_allowed_tree_depth lower core.maxTreeDepth default to 2048 checkout-index: delay automatic setting of to_tempfile parse-options: prefer opt->value to globals in callbacks parse-options: mark unused "opt" parameter in callbacks merge: do not pass unused opt->value parameter parse-options: add more BUG_ON() annotations interpret-trailers: mark unused "unset" parameters in option callbacks parse-options: mark unused parameters in noop callback merge-ort: drop custom err() function merge-ort: stop passing "opt" to read_oid_strbuf() merge-ort: drop unused parameters from detect_and_process_renames() merge-ort: drop unused "opt" parameter from merge_check_renames_reusable() merge-ort: lowercase a few error messages fsmonitor: prefer repo_git_path() to git_pathdup() fsmonitor/win32: drop unused parameters fsmonitor: mark some maybe-unused parameters fsmonitor/win32: mark unused parameter in fsm_os__incompatible() fsmonitor: mark unused parameters in stub functions fsmonitor/darwin: mark unused parameters in system callback fsmonitor: mark unused hashmap callback parameters run-command: mark unused parameters in start_bg_wait callbacks commit-graph: factor out chain opening function commit-graph: check mixed generation validation when loading chain file t5324: harmonize sha1/sha256 graph chain corruption commit-graph: detect read errors when verifying graph chain commit-graph: tighten chain size check commit-graph: report incomplete chains during verification t6700: mark test as leak-free commit-reach: free temporary list in get_octopus_merge_bases() merge: free result of repo_get_merge_bases() commit-graph: move slab-clearing to close_commit_graph() commit-graph: free all elements of graph chain commit-graph: delay base_graph assignment in add_graph_to_chain() commit-graph: free graph struct that was not added to chain commit-graph: free write-context entries before overwriting commit-graph: free write-context base_graph_name during cleanup commit-graph: clear oidset after finishing write repack: free existing_cruft array after use chunk-format: note that pair_chunk() is unsafe t: add library for munging chunk-format files midx: stop ignoring malformed oid fanout chunk commit-graph: check size of oid fanout chunk midx: check size of oid lookup chunk commit-graph: check consistency of fanout table midx: check size of pack names chunk midx: enforce chunk alignment on reading midx: check size of object offset chunk midx: bounds-check large offset chunk midx: check size of revindex chunk commit-graph: check size of commit data chunk commit-graph: detect out-of-bounds extra-edges pointers commit-graph: bounds-check base graphs chunk commit-graph: check size of generations chunk commit-graph: bounds-check generation overflow chunk commit-graph: check bounds when accessing BDAT chunk commit-graph: check bounds when accessing BIDX chunk commit-graph: detect out-of-order BIDX offsets chunk-format: drop pair_chunk_unsafe() t5319: make corrupted large-offset test more robust doc/send-email: mention handling of "reply-to" with --compose Revert "send-email: extract email-parsing code into a subroutine" send-email: handle to/cc/bcc from --compose message Johannes Schindelin (5): windows: ignore empty `PATH` elements is_Cygwin: avoid `exec`ing anything Move is_ functions to the beginning Move the `_which` function (almost) to the top Work around Tcl's default `PATH` lookup John Cai (3): merge-ort: initialize repo in index state attr: read attributes from HEAD when bare repo attr: add attr.tree for setting the treeish to read attributes from Josh Soref (1): Documentation/git-status: add missing line breaks Junio C Hamano (37): update-index: do not read HEAD and MERGE_HEAD unconditionally resolve-undo: allow resurrecting conflicted state that resolved to deletion update-index: use unmerge_index_entry() to support removal update-index: remove stale fallback code for "--unresolve" checkout/restore: refuse unmerging paths unless checking out of the index checkout/restore: add basic tests for --merge checkout: allow "checkout -m path" to unmerge removed paths pretty-formats: define "literal formatting code" Start the 2.43 cycle The second batch for 2.43 The extra batch to update credenthal helpers The third batch The fourth batch The fifth batch The sixth batch The seventh batch update-index doc: v4 is OK with JGit and libgit2 update-index: add --show-index-version test-tool: retire "index-version" The eighth batch The ninth batch The tenth batch The eleventh batch completion: loosen and document the requirement around completing alias The twelfth batch The thirteenth batch The fourteenth batch The fifteenth batch The sixteenth batch merge: introduce {copy|clear}_merge_options() stash: be careful what we store The seventeenth batch The eighteenth batch The nineteenth batch The twentieth batch The twenty-first batch The twenty-second batch Kousik Sanagavarapu (3): t/t6300: cleanup test_atom t/t6300: introduce test_bad_atom ref-filter: add mailmap support Kristoffer Haugsbakk (2): range-diff: treat notes like `log` grep: die gracefully when outside repository Linus Arver (16): trailer tests: make test cases self-contained trailer test description: this tests --where=after, not --where=before trailer: add tests to check defaulting behavior with --no-* flags trailer doc: narrow down scope of --where and related flags trailer: trailer location is a place, not an action trailer --no-divider help: describe usual "---" meaning trailer --parse help: expose aliased options trailer --only-input: prefer "configuration variables" over "rules" trailer --parse docs: add explanation for its usefulness trailer --unfold help: prefer "reformat" over "join" trailer doc: emphasize the effect of configuration variables trailer doc: separator within key suppresses default separator trailer doc: is a or , not both trailer: separate public from internal portion of trailer_iterator trailer: split process_input_file into separate pieces trailer: split process_command_line_args into separate functions M Hickford (3): credential/libsecret: store new attributes credential/libsecret: erase matching creds only credential/wincred: erase matching creds only Mark Levedahl (6): git gui Makefile - remove Cygwin modifications git-gui - remove obsolete Cygwin specific code git-gui - use cygstart to browse on Cygwin git-gui - use mkshortcut on Cygwin git-gui - re-enable use of hook scripts git-gui - use git-hook, honor core.hooksPath Matthew McClain (1): git-p4 shouldn't attempt to store symlinks in LFS Oswald Buddenhagen (10): t/lib-rebase: set_fake_editor(): fix recognition of reset's short command t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently sequencer: simplify allocation of result array in todo_list_rearrange_squash() t/lib-rebase: improve documentation of set_fake_editor() format-patch: add --description-file option sequencer: beautify subject of reverts of reverts git-revert.txt: add discussion rebase: simplify code related to imply_merge() rebase: handle --strategy via imply_merge() as well rebase: move parse_opt_keep_empty() down Patrick Steinhardt (1): revision: make pseudo-opt flags read via stdin behave consistently Philippe Blain (2): completion: commit: complete configured trailer tokens completion: commit: complete trailers tokens more robustly René Scharfe (9): subtree: disallow --no-{help,quiet,debug,branch,message} t1502, docs: disallow --no-help t1502: move optionspec help output to a file t1502: test option negation parse-options: show negatability of options in short help parse-options: factor out usage_indent() and usage_padding() parse-options: no --[no-]no-... parse-options: simplify usage_padding() parse-options: allow omitting option help text Rubén Justo (2): branch: error message deleting a branch in use branch: error message checking out a branch in use Sergey Organov (3): diff-merges: improve --diff-merges documentation diff-merges: introduce '--dd' option completion: complete '--dd' Shuqi Liang (3): t1092: add tests for 'git check-attr' attr.c: read attributes in a sparse directory check-attr: integrate with sparse-index Tang Yuyi (1): merge-tree: add -X strategy option Taylor Blau (17): repack: move `pack_geometry` struct to the stack builtin/pack-objects.c: remove unnecessary strbuf_reset() builtin/pack-objects.c: support `--max-pack-size` with `--cruft` Documentation/gitformat-pack.txt: remove multi-cruft packs alternative Documentation/gitformat-pack.txt: drop mixed version section builtin/repack.c: extract structure to store existing packs builtin/repack.c: extract marking packs for deletion builtin/repack.c: extract redundant pack cleanup for --geometric builtin/repack.c: extract redundant pack cleanup for existing packs builtin/repack.c: extract `has_existing_non_kept_packs()` builtin/repack.c: store existing cruft packs separately builtin/repack.c: avoid directly inspecting "util" builtin/repack.c: extract common cruft pack loop t7700: split cruft-related tests to t7704 builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE builtin/repack.c: implement support for `--max-cruft-size` builtin/repack.c: avoid making cruft packs preferred Victoria Dye (4): ref-cache.c: fix prefix matching in ref iteration dir.[ch]: expose 'get_dtype' dir.[ch]: add 'follow_symlink' arg to 'get_dtype' files-backend.c: avoid stat in 'loose_fill_ref_dir' Vipul Kumar (1): git-gui: Fix a typo in README brian m. carlson (1): t: add a test helper to truncate files Ævar Arnfjörð Bjarmason (1): Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 Štěpán Němec (5): doc: fix some typos, grammar and wording issues doc/diff-options: improve wording of the log.diffMerges mention git-jump: admit to passing merge mode args to ls-files doc/gitk: s/sticked/stuck/ t/README: fix multi-prerequisite example 谢致邦 (XIE Zhibang) (2): doc: correct the 50 characters soft limit doc: correct the 50 characters soft limit (+) Version v2.42.1; changes since v2.42.0: --------------------------------------- Caleb Hill (1): git-clean doc: fix "without do cleaning" typo Christian Hesse (2): t/lib-gpg: forcibly run a trustdb update t/t6300: drop magic filtering Derrick Stolee (4): upload-pack: fix race condition in error messages scalar: add --[no-]src option setup: add discover_git_directory_reason() scalar reconfigure: help users remove buggy repos Evan Gates (1): git-config: fix misworded --type=path explanation Han Young (1): show doc: redirect user to git log manual instead of git diff-tree Jacob Abel (1): builtin/worktree.c: fix typo in "forgot fetch" msg Jeff King (17): hashmap: use expected signatures for comparison functions diff-files: avoid negative exit value diff: show usage for unknown builtin_diff_files() options diff: die when failing to read index in git-diff builtin diff: drop useless return from run_diff_{files,index} functions diff: drop useless return values in git-diff helpers diff: drop useless "status" parameter from diff_result_code() commit-graph: verify swapped zero/non-zero generation cases test-lib: ignore uninteresting LSan output ci: allow branch selection through "vars" ci: deprecate ci/config/allow-ref script http: factor out matching of curl http/2 trace lines http: update curl http/2 info matching for curl 8.3.0 test-lib: set UBSAN_OPTIONS to match ASan decorate: add clear_decoration() function revision: clear decoration structs during release_revisions() daemon: free listen_addr before returning Johannes Schindelin (12): rebase: allow overriding the maximal length of the generated labels ci: avoid building from the same commit in parallel ci(linux-asan-ubsan): let's save some time var: avoid a segmentation fault when `HOME` is unset completion(switch/checkout): treat --track and -t the same maintenance(systemd): support the Windows Subsystem for Linux ci: add a GitHub workflow to submit Coverity scans coverity: cache the Coverity Build Tool coverity: allow overriding the Coverity project coverity: support building on Windows coverity: allow running on macOS coverity: detect and report when the token or project is incorrect Josip Sokcevic (1): diff-lib: fix check_removed when fsmonitor is on Junio C Hamano (12): mv: fix error for moving directory to another diff: move the fallback "--exit-code" code down diff: mode-only change should be noticed by "--patch -w --exit-code" diff: teach "--stat -w --exit-code" to notice differences t4040: remove test that succeeded for a wrong reason diff: spell DIFF_INDEX_CACHED out when calling run_diff_index() diff: the -w option breaks --exit-code for --raw and other output modes transfer.unpackLimit: fetch/receive.unpackLimit takes precedence doc: update list archive reference to use lore.kernel.org commit: do not use cryptic "new_index" in end-user facing messages am: align placeholder for --whitespace option with apply Git 2.42.1 Kousik Sanagavarapu (1): ref-filter: sort numerically when ":size" is used Mark Ruvald Pedersen (1): sequencer: truncate labels to accommodate loose refs Michal Suchanek (1): git-push doc: more visibility for -q option Naomi Ibe (1): builtin/add.c: clean up die() messages Oswald Buddenhagen (6): t9001: fix indentation in test_no_confirm() sequencer: rectify empty hint in call of require_clean_work_tree() sequencer: fix error message on failure to copy SQUASH_MSG t3404-rebase-interactive.sh: fix typos in title of a rewording test sequencer: remove unreachable exit condition in pick_commits() am: fix error message in parse_opt_show_current_patch() Patrick Steinhardt (4): upload-pack: fix exit code when denying fetch of unreachable object ID doc/git-worktree: mention "refs/rewritten" as per-worktree refs doc/git-repack: fix syntax for `-g` shorthand option doc/git-repack: don't mention nonexistent "--unpacked" option Philippe Blain (1): completion: improve doc for complex aliases Phillip Wood (7): rebase -i: move unlink() calls rebase -i: remove patch file after conflict resolution sequencer: use rebase_path_message() sequencer: factor out part of pick_commits() rebase: fix rewritten list for failed pick rebase --continue: refuse to commit after failed command rebase -i: fix adding failed command to the todo list René Scharfe (5): name-rev: use OPT_HIDDEN_BOOL for --peel-tag grep: use OPT_INTEGER_F for --max-depth grep: reject --no-or diff --no-index: fix -R with stdin parse-options: drop unused parse_opt_ctx_t member Sergey Organov (1): doc/diff-options: fix link to generating patch section Taylor Blau (7): commit-graph: introduce `commit_graph_generation_from_graph()` t/t5318-commit-graph.sh: test generation zero transitions during fsck commit-graph: avoid repeated mixed generation number warnings leak tests: mark a handful of tests as leak-free leak tests: mark t3321-notes-stripspace.sh as leak-free leak tests: mark t5583-push-branches.sh as leak-free git-send-email.perl: avoid printing undef when validating addresses Wesley Schwengle (2): git-push.txt: fix grammar git-svn: drop FakeTerm hack Štěpán Němec (1): doc/cat-file: make synopsis and description less confusing 王常新 (1): merge-ort.c: fix typo 'neeed' to 'needed' Version v2.42.0; changes since v2.42.0-rc2: ------------------------------------------- Arkadii Yakovets (1): l10n: uk: update translation (2.42.0) Bagas Sanjaya (1): l10n: po-id for 2.42 (round 1) Dimitriy Ryazantcev (1): l10n: ru.po: update Russian translation Emir SARI (1): l10n: tr: git 2.42.0 Jean-Noël Avila (2): l10n: fr v2.42.0 rnd 1 l10n: fr v2.42.0 rnd 2 Jeff King (1): fsck: use enum object_type for fsck_walk callback Jordi Mas (1): l10n: Update Catalan translation Junio C Hamano (1): Git 2.42 Martin Ågren (4): notes doc: split up run-on sentences notes doc: tidy up `--no-stripspace` paragraph show-ref doc: fix carets in monospace rev-list-options: fix typo in `--stdin` documentation Peter Krefting (1): l10n: sv.po: Update Swedish translation 5549t0f0u Ralf Thielow (1): l10n: Update German translation Teng Long (2): l10n: zh_CN: v2.42.0 round 1 l10n: zh_CN: 2.42.0 round 2 Yi-Jyun Pan (1): l10n: zh_TW.po: Git 2.42 Version v2.42.0-rc2; changes since v2.42.0-rc1: ----------------------------------------------- Jeff King (4): send-email: drop FakeTerm hack send-email: avoid creating more than one Term::ReadLine object repack: free geometry struct t4053: avoid writing to unopened pipe Johannes Schindelin (3): t0040: declare non-tab indentation to be okay in this script win32: add a helper to run `git.exe` without a foreground window git maintenance: avoid console window in scheduled tasks on Windows Junio C Hamano (1): Git 2.42-rc2 Oswald Buddenhagen (2): advice: handle "rebase" in error_resolve_conflict() t9001: remove excessive GIT_SEND_EMAIL_NOTTY=1 Phillip Wood (1): t4053: avoid race when killing background processes René Scharfe (1): parse-options: disallow negating OPTION_SET_INT 0 Sebastian Thiel (1): mv: handle lstat() failure correctly Version v2.42.0-rc1; changes since v2.42.0-rc0: ----------------------------------------------- Adam Majer (1): doc: sha256 is no longer experimental Eric Wong (5): sha256/gcrypt: fix build with SANITIZE=leak sha256/gcrypt: fix memory leak with SHA-256 repos sha256/gcrypt: die on gcry_md_open failures sha256: avoid functions deprecated in OpenSSL 3+ avoid SHA-1 functions deprecated in OpenSSL 3+ Glen Choo (1): mailmap: change primary address for Glen Choo Junio C Hamano (2): A few more topics before -rc1 Git 2.42-rc1 Matthias Aßhauer (3): run-command: conditionally define locate_in_PATH() compat/mingw: implement a native locate_in_PATH() docs: update when `git bisect visualize` uses `gitk` Phillip Wood (1): rebase --skip: fix commit message clean up when skipping squash René Scharfe (1): bundle: use OPT_PASSTHRU_ARGV Taylor Blau (5): t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()` t5318: avoid top-level directory changes t5328: avoid top-level directory changes t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()` brian m. carlson (2): ident: don't consider '.' a crud gitignore: ignore clangd .cache directory Version v2.42.0-rc0; changes since v2.41.0: ------------------------------------------- Alejandro R. Sedeño (1): statinfo.h: move DTYPE defines from dir.h Alex Henrie (4): wt-status: don't show divergence advice when committing remote: don't imply that integration is always required before pushing push: don't imply that integration is always required before pushing sequencer: finish parsing the todo list despite an invalid first line Andreas Herrmann (3): configure.ac: don't overwrite NO_EXPAT option configure.ac: don't overwrite NO_CURL option configure.ac: always save NO_ICONV to config.status Beat Bolli (2): trace2: fix a comment wrapper: use trace2 counters to collect fsync stats Calvin Wan (13): strbuf: clarify API boundary strbuf: clarify dependency abspath: move related functions to abspath credential-store: move related functions to credential-store file object-name: move related functions to object-name path: move related function to path strbuf: remove global variable git-compat-util: move strbuf.c funcs to its header git-compat-util: move wrapper.c funcs to its header sane-ctype.h: create header for sane-ctype macros kwset: move translation table from ctype treewide: remove unnecessary includes for wrapper.h git-compat-util: move alloc macros to git-compat-util.h D. Ben Knoble (2): i18n: mark more bundle.c strings for translation t4002: fix "diff can read from stdin" syntax Derrick Stolee (7): add: check color.ui for interactive add add: test use of brackets when color is disabled repository: create disable_replace_refs() replace-objects: create wrapper around setting repository: create read_replace_refs setting packfile: delete .idx files before .pack files builtin/repack.c: only repack `.pack`s that exist Elijah Newren (28): init-db: document existing bug with core.bare in template config init-db: remove unnecessary global variable init-db, clone: change unnecessary global into passed parameter setup: adopt shared init-db & clone code read-cache: move shared commit and ls-files code add: modify add_files_to_cache() to avoid globals read-cache: move shared add/checkout/commit code statinfo: move stat_{data,validity} functions from cache/read-cache run-command.h: move declarations for run-command.c from cache.h name-hash.h: move declarations for name-hash.c from cache.h sparse-index.h: move declarations for sparse-index.c from cache.h preload-index.h: move declarations for preload-index.c from elsewhere diff.h: move declaration for global in diff.c from cache.h merge.h: move declarations for merge.c from cache.h repository.h: move declaration of the_index from cache.h read-cache*.h: move declarations for read-cache.c functions from cache.h cache.h: remove this no-longer-used header log-tree: replace include of revision.h with simple forward declaration repository: remove unnecessary include of path.h diff.h: remove unnecessary include of oidset.h list-objects-filter-options.h: remove unneccessary include builtin.h: remove unneccessary includes git-compat-util.h: remove unneccessary include of wildmatch.h merge-ll: rename from ll-merge khash: name the structs that khash declares object-store-ll.h: split this header out of object-store.h hash-ll, hashmap: move oidhash() to hash-ll fsmonitor-ll.h: split this header out of fsmonitor.h Eric Sunshine (1): fsck: avoid misleading variable name Glen Choo (15): cocci: add headings to and reword README cocci: codify authoring and reviewing practices setup.c: don't setup in discover_git_directory() config: don't BUG when both kvi and source are set config: inline git_color_default_config urlmatch.h: use config_fn_t type config: add ctx arg to config_fn_t config.c: pass ctx in configsets config: pass ctx with config files config.c: pass ctx with CLI config trace2: plumb config kvi config: pass kvi to die_bad_number() config.c: remove config_reader from configsets config: add kvi.path, use it to evaluate includes config: pass source to config_parser_event_fn_t Han Young (1): blame: allow --contents to work with bare repo Jacob Abel (11): worktree add: include -B in usage docs t2400: cleanup created worktree in test t2400: refactor "worktree add" opt exclusion tests t2400: add tests to verify --quiet worktree add: add --orphan flag worktree add: introduce "try --orphan" hint worktree add: extend DWIM to infer --orphan worktree add: emit warn when there is a bad HEAD t2400: drop no-op `--sq` from rev-parse call builtin/worktree.c: convert tab in advice to space t2400: rewrite regex to avoid unintentional PCRE Jacob Keller (1): fix cherry-pick/revert status when doing multiple commits Jan Klötzke (1): ref-filter: handle nested tags in --points-at option Jeff King (36): format-patch: free rev.message_id when exiting format-patch: free elements of rev.ref_message_ids list pathspec: factor out magic-to-name function diff: factor out --follow pathspec check diff: detect pathspec magic not supported by --follow ci: use clang for ASan/UBSan checks ci: run ASan/UBSan in a single job ci: drop linux-clang job commit: pass --no-divider to interpret-trailers http: handle both "h2" and "h2h3" in curl info lines var: mark unused parameters in git_var callbacks imap-send: use server conf argument in setup_curl() imap-send: drop unused parameter from imap_cmd_cb callback imap-send: drop unused fields from imap_cmd_cb refs.c: rename `ref_filter` ref-filter.h: provide `REF_FILTER_INIT` ref-filter: clear reachable list pointers after freeing ref-filter: add `ref_filter_clear()` ref-filter.c: parameterize match functions over patterns test-ref-store: drop unimplemented reflog-expire command do_for_each_ref_helper(): mark unused repository parameter http: mark unused parameters in curl callbacks http-push: mark unused parameter in xml callback am: mark unused keep_cr parameters count-objects: mark unused parameter in alternates callback revisions: drop unused "opt" parameter in "tweak" callbacks fsck: mark unused parameters in various fsck callbacks merge-tree: mark unused parameter in traverse callback replace: mark unused parameter in ref callback replace: mark unused parameter in each_mergetag_fn callback rev-parse: mark unused parameter in for_each_abbrev callback tag: mark unused parameters in each_tag_name_fn callbacks t/helper: mark unused callback void data parameters ref-filter: avoid parsing tagged objects in match_points_at() ref-filter: avoid parsing non-tags in match_points_at() ref-filter: simplify return type of match_points_at Johan Ruokangas (1): gitignore.txt: use backticks instead of double quotes Johannes Schindelin (3): do_read_index(): always mark index as initialized unless erroring out split-index: accept that a base index can be empty commit -a -m: allow the top-level tree to become empty again John Cai (34): docs: clarify git-pack-refs --all will pack all refs pack-refs: teach --exclude option to exclude refs from being packed pack-refs: teach pack-refs --include option t0000-basic: modernize test format t0030-stripspace: modernize test format t3210-pack-refs: modernize test format t1001-read-tree-m-2way: modernize test format t1002-read-tree-m-u-2way: modernize test format t1006-cat-file: modernize test format t3500-cherry: modernize test format t3700-add: modernize test format t3903-stash: modernize test format t4002-diff-basic: modernize test format t4003-diff-rename-1: modernize test format t4004-diff-rename-symlink: modernize test format t4202-log: modernize test format t4206-log-follow-harder-copies: modernize test format t5300-pack-object: modernize test format t5301-sliding-window: modernize test format t5303-pack-corruption-resilience: modernize test format t5306-pack-nobase: modernize test format t6050-replace: modernize test format t7101-reset-empty-subdirs: modernize test format t7110-reset-merge: modernize test format t7111-reset-table: modernize test format t7201-co: modernize test format t7508-status: modernize test format t7600-merge: modernize test format t7700-repack: modernize test format t9100-git-svn-basic: modernize test format t9104-git-svn-follow-parent: modernize test format t9200-git-cvsexportcommit: modernize test format t9400-git-cvsserver-server: modernize test format docs: add git hash-object -t option's possible values Jonathan Tan (1): CodingGuidelines: use octal escapes, not hex Josip Sokcevic (1): diff-lib: honor override_submodule_config flag bit Junio C Hamano (44): diff: fix interaction between the "-s" option and other options show-branch doc: say , not Start the 2.42 cycle The second batch for 2.42 The third batch ll-merge: killing the external merge driver aborts the merge The fourth batch t6406: skip "external merge driver getting killed by a signal" test on Windows The fifth batch The sixth batch The seventh batch The eighth batch t6135: attr magic with path pattern tree-walk: lose base_offset that is never used in tree_entry_interesting tree-walk: drop unused base_offset from do_match() The ninth batch dir: match "attr" pathspec magic with correct paths The tenth batch The eleventh batch The twelfth batch gitignore.txt: mark up explanation of patterns consistently am: simplify parsing of "--[no-]keep-cr" branch: reject "--no-all" and "--no-remotes" early parse-options: introduce OPT_IPVERSION() fetch: reject --no-ipv[46] show-branch: --no-sparse should give dense output short help: allow multi-line opthelp remote: simplify "remote add --tags" help text short help: allow a gap smaller than USAGE_GAP show-branch: reject --[no-](topo|date)-order reset: reject --no-(mixed|soft|hard|merge|keep) option The thirteenth batch branch: update the message to refuse touching a branch in-use hex: retire get_sha1_hex() The fourteenth batch SubmittingPatches: choice of base for fixing an older maintenance track The fifteenth batch SubmittingPatches: explain why 'next' and above are inappropriate base SubmittingPatches: use of older maintenance tracks is an exception The sixteenth batch MyFirstContribution: refrain from self-iterating too much The seventeenth batch The eighteenth batch Git 2.42-rc0 Kousik Sanagavarapu (5): t/lib-gpg: introduce new prereq GPG2 ref-filter: add new "signature" atom t4205: correctly test %(describe:abbrev=...) ref-filter: add multiple-option parsing functions ref-filter: add new "describe" atom Kristoffer Haugsbakk (5): doc: tag: document `TAG_EDITMSG` t/t7004-tag: add regression test for successful tag creation tag: keep the message file in case ref transaction fails notes: update documentation for `use_default_notes` notes: move the documentation to the struct Linus Arver (15): docs: typofixes doc: trailer: fix grammar doc: trailer: swap verb order doc: trailer: drop "commit message part" phrasing doc: trailer: examples: avoid the word "message" by itself doc: trailer: remove redundant phrasing doc: trailer: use angle brackets for and doc: trailer..command: emphasize deprecation doc: trailer: mention 'key' in DESCRIPTION doc: trailer: add more examples in DESCRIPTION SubmittingPatches: reword awkward phrasing SubmittingPatches: discuss subsystems separately from git.git SubmittingPatches: de-emphasize branches as starting points SubmittingPatches: emphasize need to communicate non-default starting points SubmittingPatches: simplify guidance for choosing a starting point M Hickford (3): credential: avoid erasing distinct password credential: erase all matching credentials doc: gitcredentials: link to helper list Martin Ågren (1): t0091-bugreport.sh: actually verify some content of report Mike Hommey (2): commit-reach: fix memory leak in get_reachable_subset() mingw: use lowercase includes for some Windows headers Patrick Steinhardt (17): fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value fetch: drop unneeded NULL-check for `remote_ref` fetch: pass through `fetch_config` directly fetch: use `fetch_config` to store "fetch.prune" value fetch: use `fetch_config` to store "fetch.pruneTags" value fetch: use `fetch_config` to store "fetch.showForcedUpdates" value fetch: use `fetch_config` to store "fetch.recurseSubmodules" value fetch: use `fetch_config` to store "fetch.parallel" value fetch: use `fetch_config` to store "submodule.fetchJobs" value t1006: don't strip timestamps from expected results t1006: modernize test style to use `test_cmp` strbuf: provide CRLF-aware helper to read until a specified delimiter cat-file: simplify reading from standard input cat-file: add option '-Z' that delimits input and output with NUL revision: reorder `read_revisions_from_stdin()` revision: small readability improvement for reading from stdin revision: handle pseudo-opts in `--stdin` mode Petar Vutov (1): doc: highlight that .gitmodules does not support !command Philippe Blain (30): revisions.txt: use description list for special refs revisions.txt: document more special refs completion: complete REVERT_HEAD and BISECT_HEAD git-merge.txt: modernize word choice in "True merge" section Documentation: document AUTO_MERGE completion: complete AUTO_MERGE completion: add comments describing __git_diff_* globals completion: complete --break-rewrites completion: complete --cc completion: complete --combined-all-paths completion: complete --compact-summary completion: complete --default-prefix completion: complete --find-copies completion: complete --find-object completion: complete --find-renames completion: complete --function-context completion: complete --ignore-matching-lines completion: complete --irreversible-delete completion: complete --ita-invisible-in-index and --ita-visible-in-index completion: complete --line-prefix completion: complete --no-relative completion: complete --no-stat completion: complete --output completion: complete --output-indicator-{context,new,old} completion: complete --unified completion: complete --ws-error-highlight completion: move --pickaxe-{all,regex} to __git_diff_common_options completion: complete --diff-merges, its options and --no-diff-merges completion: complete --remerge-diff diff.c: mention completion above add_diff_options Phillip Wood (5): apply: improve error messages when reading patch diff --no-index: refuse to compare stdin to a directory diff --no-index: die on error reading stdin t4054: test diff --no-index with stdin diff --no-index: support reading from named pipes René Scharfe (18): t1800: loosen matching of error message for bad shebang run-command: report exec error even on ENOENT ls-tree: fix documentation of %x format placeholder pretty: factor out expand_separator() strbuf: factor out strbuf_expand_step() replace strbuf_expand_dict_cb() with strbuf_expand_step() replace strbuf_expand() with strbuf_expand_step() strbuf: simplify strbuf_expand_literal_cb() ls-tree: simplify prefix handling pretty: avoid double negative in format_commit_item() pkt-line: add size parameter to packet_length() pretty: use strchr(3) in userformat_find_requirements() t6300: fix setup with GPGSSH but without GPG strbuf: use skip_prefix() in strbuf_addftime() ls-tree: fix --no-full-name describe: fix --no-exact-match pack-objects: fix --no-keep-true-parents pack-objects: fix --no-quiet Rubén Justo (11): config: fix a leak in git_config_copy_or_rename_section_in_file remote: fix a leak in query_matches_negative_refspec branch: fix a leak in dwim_and_setup_tracking branch: fix a leak in inherit_tracking branch: fix a leak in check_tracking_branch branch: fix a leak in setup_tracking rev-parse: fix a leak with --abbrev-ref branch: fix a leak in setup_tracking branch: fix a leak in cmd_branch config: fix a leak in git_config_copy_or_rename_section_in_file tests: mark as passing with SANITIZE=leak Sean Allred (5): show-ref doc: update for internal consistency ls-remote doc: remove redundant --tags example ls-remote doc: show peeled tags in examples ls-remote doc: explain what each example does ls-remote doc: document the output format Shuqi Liang (2): diff-tree: integrate with sparse index worktree: integrate with sparse-index Taylor Blau (48): object: add object_array initializer helper function pack-bitmap.c: extract `fill_in_bitmap()` pack-bitmap.c: use commit boundary during bitmap traversal builtin/submodule--helper.c: handle missing submodule URLs builtin/repack.c: only collect fully-formed packs reachable.c: extract `obj_is_recent()` gc: introduce `gc.recentObjectsHook` pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack t7701: make annotated tag unreachable fsck: suppress commit-graph output with `--no-progress` fsck: suppress MIDX output with `--no-progress` commit-graph.c: extract `verify_one_commit_graph()` commit-graph.c: iteratively verify commit-graph chains commit-graph.c: pass progress to `verify_one_commit_graph()` commit-graph.c: avoid duplicated progress output during `verify` builtin/for-each-ref.c: add `--exclude` option refs: plumb `exclude_patterns` argument throughout refs/packed-backend.c: refactor `find_reference_location()` refs/packed-backend.c: implement jump lists to avoid excluded pattern(s) refs/packed-backend.c: add trace2 counters for jump list revision.h: store hidden refs in a `strvec` refs.h: let `for_each_namespaced_ref()` take excluded patterns refs.h: implement `hidden_refs_to_excludes()` builtin/receive-pack.c: avoid enumerating hidden references upload-pack.c: avoid enumerating hidden refs where possible ls-refs.c: avoid enumerating hidden refs where possible builtin/repack.c: avoid dir traversal in `collect_pack_filenames()` packfile.c: prevent overflow in `nth_packed_object_id()` packfile.c: prevent overflow in `load_idx()` packfile.c: use checked arithmetic in `nth_packed_object_offset()` midx.c: use `size_t`'s for fanout nr and alloc midx.c: prevent overflow in `nth_midxed_object_oid()` midx.c: prevent overflow in `nth_midxed_offset()` midx.c: store `nr`, `alloc` variables as `size_t`'s midx.c: prevent overflow in `write_midx_internal()` midx.c: prevent overflow in `fill_included_packs_batch()` pack-bitmap.c: ensure that eindex lookups don't overflow commit-graph.c: prevent overflow in `write_commit_graph_file()` commit-graph.c: prevent overflow in add_graph_to_chain() commit-graph.c: prevent overflow in `load_oid_from_graph()` commit-graph.c: prevent overflow in `fill_commit_graph_info()` commit-graph.c: prevent overflow in `fill_commit_in_graph()` commit-graph.c: prevent overflow in `load_tree_for_commit()` commit-graph.c: prevent overflow in `split_graph_merge_strategy()` commit-graph.c: prevent overflow in `merge_commit_graph()` commit-graph.c: prevent overflow in `write_commit_graph()` commit-graph.c: prevent overflow in `verify_commit_graph()` Documentation/RelNotes/2.42.0.txt: typofix Teng Long (8): surround %s with quotes when failed to lookup commit notes.c: cleanup 'strbuf_grow' call in 'append_edit' notes.c: use designated initializers for clarity t3321: add test cases about the notes stripspace behavior notes.c: introduce '--separator=' option notes.c: append separator instead of insert by pos notes.c: introduce "--[no-]stripspace" option notes: introduce "--no-separator" option Todd Zullinger (3): trace2 tests: fix PTHREADS prereq t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0 t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq Victoria Dye (3): config: use gitdir to get worktree config config: pass 'repo' directly to 'config_with_options()' repository: move 'repository_format_worktree_config' to repo scope Vinayak Dev (1): docs: add necessary headers to Documentation/MFOW.txt ZheNing Hu (1): ls-files: align format atoms with ls-tree brian m. carlson (7): t: add a function to check executable bit var: add support for listing the shell var: format variable structure with C99 initializers var: adjust memory allocation for strings attr: expose and rename accessor functions var: add attributes files locations var: add config file locations Version v2.41.0; changes since v2.41.0-rc2: ------------------------------------------- Alexander Shopov (1): l10n: bg.po: Updated Bulgarian translation (5515t) Arkadii Yakovets (3): l10n: uk: add initial translation l10n: uk: remove stale lines l10n: update uk localization Bagas Sanjaya (1): l10n: po-id for 2.41 (round 1) Benjamin Jorand (1): l10n: fr: fix translation of stash save help Daniel Santos (1): l10n: TEAMS: Update pt_PT repo link Emir SARI (1): l10n: tr: Update Turkish translations for 2.41.0 Jean-Noël Avila (2): l10n: fr.po v2.41.0 rnd1 l10n: fr.po v2.41.0 rnd2 Jordi Mas (2): l10n: Update Catalan translation l10n: Update Catalan translation Junio C Hamano (1): Git 2.41 Peter Krefting (1): l10n: sv.po: Update Swedish translation (5515t0f0u) Ralf Thielow (1): l10n: Update German translation Teng Long (1): l10n: zh_CN: Git 2.41.0 round #1 Yi-Jyun Pan (1): l10n: zh_TW.po: Git 2.41.0 Version v2.41.0-rc2; changes since v2.41.0-rc1: ----------------------------------------------- Corentin Garcia (1): doc/git-config: add unit for http.lowSpeedLimit Johannes Schindelin (2): rebase --update-refs: fix loops rebase -r: fix the total number shown in the progress Junio C Hamano (5): tests: do not negate test_path_exists t2021: do not negate test_path_is_dir test: do not negate test_path_is_* to assert absense A few more topics after 2.41-rc1 Git 2.41-rc2 Shuqi Liang (1): t1092: update a write-tree test Version v2.41.0-rc1; changes since v2.41.0-rc0: ----------------------------------------------- Christian Hesse (1): imap-send: include strbuf.h Jeff King (1): t/lib-httpd: make CGIPassAuth support conditional John Cai (1): attr: teach "--attr-source=" global option to "git" Junio C Hamano (4): A bit more before -rc1 send-email: clear the $message_id after validation t9001: mark the script as no longer leak checker clean Git 2.41-rc1 Taylor Blau (1): run-command.c: fix missing include under `NO_PTHREADS` brian m. carlson (1): upload-pack: advertise capabilities when cloning empty repos Version v2.41.0-rc0; changes since v2.40.1: ------------------------------------------- Adam Johnson (1): ls-files: fix "--format" output of relative paths Alex Henrie (5): rebase: add documentation and test for --no-rebase-merges rebase: deprecate --rebase-merges="" rebase: add a config option for --rebase-merges format-patch: correct documentation of --thread without an argument docs: rewrite the documentation of the text and eol attributes Andreas Schwab (1): git-merge-tree.txt: replace spurious HTML entity Andrei Rybak (19): t1005: assert output of ls-files t1006: assert error output of cat-file t1010: don't create unused files t1302: don't create unused file t1400: assert output of update-ref t1404: don't create unused file t1507: assert output of rev-parse t3060: fix mention of function prune_index t2107: fix mention of the_index.cache_changed t2024: fix loose/strict local base branch DWIM test t1300: drop duplicate test t1300: check stderr for "ignores pairs" tests t1300: add tests for missing keys t0300: don't create unused file t1300: fix config file syntax error descriptions t1300: don't create unused files t1450: don't create unused files t1502: don't create unused files t2019: don't create unused files Andy Koppe (1): restore: fault --staged --worktree with merge opts Beat Bolli (1): unicode: update the width tables to Unicode 15 Clement Mabileau (1): branch: improve error log on branch not found by checking remotes refs Daniel Watson (1): SubmittingPatches: clarify MUA discussion with "the" Derrick Stolee (18): object-file: reprepare alternates when necessary for-each-ref: add --stdin option for-each-ref: explicitly test no matches commit-graph: refactor compute_topological_levels() commit-graph: simplify compute_generation_numbers() commit-graph: return generation from memory commit-reach: implement ahead_behind() logic for-each-ref: add ahead-behind format atom commit-reach: add tips_reachable_from_bases() p2000: remove stray '--sparse' flag from test fetch: download bundles once, even with --all fsck: create scaffolding for rev-index checks fsck: check rev-index checksums fsck: check rev-index position values fsck: validate .rev file header fsck: verify checksums of all .bitmap files fsck: use local repository merge-tree: load default git config Edwin Kofler (1): completion: suppress unwanted unescaping of `read` Elijah Newren (94): treewide: ensure one of the appropriate headers is sourced first treewide: remove unnecessary git-compat-util.h includes in headers treewide: remove unnecessary cache.h includes treewide: remove unnecessary cache.h includes in source files alloc.h: move ALLOC_GROW() functions from cache.h hash.h: move some oid-related declarations from cache.h hex.h: move some hex-related declarations from cache.h cache.h: remove dependence on hex.h; make other files include it explicitly pretty.h: move has_non_ascii() declaration from commit.h ident.h: move ident-related declarations out of cache.h object.h: stop depending on cache.h; make cache.h depend on object.h dir.h: refactor to no longer need to include cache.h object-store.h: move struct object_info from cache.h replace-object.h: move read_replace_refs declaration from cache.h to here treewide: replace cache.h with more direct headers, where possible Remove unnecessary includes of builtin.h diff.h: remove unnecessary include of object.h t2021: fix platform-specific leftover cruft unpack-trees: heed requests to overwrite ignored files dir: separate public from internal portion of dir_struct dir: add a usage note to exclude_per_dir dir: mark output only fields of dir_struct as such unpack-trees: clean up some flow control sparse-checkout: avoid using internal API of unpack-trees sparse-checkout: avoid using internal API of unpack-trees, take 2 unpack_trees: start splitting internal fields from public API unpack-trees: mark fields only used internally as internal unpack-trees: rewrap a few overlong lines from previous patch unpack-trees: special case read-tree debugging as internal usage unpack-trees: add usage notices around df_conflict_entry treewide: remove unnecessary cache.h inclusion from a few headers treewide: be explicit about dependence on gettext.h treewide: remove unnecessary inclusion of gettext.h treewide: remove unnecessary cache.h inclusion from several sources environment: move comment_line_char from cache.h abspath.h: move absolute path functions from cache.h cache.h: remove expand_user_path() path.h: move function declarations for path.c functions from cache.h wrapper.h: move declarations for wrapper.c functions from cache.h treewide: remove unnecessary includes of cache.h environment.h: move declarations for environment.c functions from cache.h treewide: remove cache.h inclusion due to environment.h changes setup.h: move declarations for setup.c functions from cache.h treewide: remove cache.h inclusion due to setup.h changes write-or-die.h: move declarations for write-or-die.c functions from cache.h csum-file.h: remove unnecessary inclusion of cache.h treewide: be explicit about dependence on trace.h & trace2.h treewide: be explicit about dependence on advice.h treewide: be explicit about dependence on convert.h treewide: be explicit about dependence on pack-revindex.h treewide: be explicit about dependence on oid-array.h treewide: be explicit about dependence on mem-pool.h treewide: remove unnecessary cache.h inclusion object-name.h: move declarations for object-name.c functions from cache.h treewide: remove cache.h inclusion due to object-name.h changes git-zlib: move declarations for git-zlib functions from cache.h treewide: remove cache.h inclusion due to git-zlib changes object-file.h: move declarations for object-file.c functions from cache.h treewide: remove cache.h inclusion due to object-file.h changes object.h: move some inline functions and defines from cache.h treewide: remove cache.h inclusion due to object.h changes editor: move editor-related functions and declarations into common file treewide: remove cache.h inclusion due to editor.h changes pager.h: move declarations for pager.c functions from cache.h treewide: remove cache.h inclusion due to pager.h changes cache.h: remove unnecessary includes treewide: remove double forward declaration of read_in_full treewide: reduce includes of cache.h in other headers mailmap, quote: move declarations of global vars to correct unit protocol.h: move definition of DEFAULT_GIT_PORT from cache.h treewide: be explicit about dependence on strbuf.h symlinks.h: move declarations for symlinks.c functions from cache.h packfile.h: move pack_window and pack_entry from cache.h server-info.h: move declarations for server-info.c functions from cache.h copy.h: move declarations for copy.c functions from cache.h base85.h: move declarations for base85.c functions from cache.h pkt-line.h: move declarations for pkt-line.c functions from cache.h match-trees.h: move declarations for match-trees.c functions from cache.h ws.h: move declarations for ws.c functions from cache.h versioncmp.h: move declarations for versioncmp.c functions from cache.h dir.h: move DTYPE defines from cache.h tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h hash-ll.h: split out of hash.h to remove dependency on repository.h cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c cache,tree: move basic name compare functions from read-cache to tree treewide: remove cache.h inclusion due to previous changes cache.h: remove unnecessary headers fsmonitor: reduce includes of cache.h commit.h: reduce unnecessary includes object-store.h: reduce unnecessary includes diff.h: reduce unnecessary includes reftable: ensure git-compat-util.h is the first (indirect) include merge-ort: fix calling merge_finalize() with no intermediate merge t5583: fix shebang line Emily Shaffer (1): mailmap: change primary address for Emily Shaffer Eric Sunshine (1): tests: diagnose unclosed here-doc in chainlint.pl Eric Wong (3): commit-reach: avoid NULL dereference fetch: support hideRefs to speed up connectivity checks fetch: pass --no-write-fetch-head to subprocesses Fangyi Zhou (1): rebase: fix capitalisation autoSquash in i18n string Felipe Contreras (16): advice: add diverging advice for novices test: simplify counts aggregation test: don't print aggregate-results command object-name: fix quiet @{u} parsing completion: prompt: use generic colors doc: remove GNU troff workaround doc: remove manpage-base-url workaround doc: asciidoc: remove custom header macro doc: simplify man version doc: set actual revdate for manpages doc: git-checkout: trivial callout cleanup doc: git-checkout: reorganize examples doc: remove custom callouts format doc: manpage: remove maximum title length doc: doc-diff: specify date test: rev-parse-upstream: add missing cmp Glen Choo (10): config.c: plumb config_source through static fns config.c: don't assign to "cf_global" directly config.c: create config_reader and the_reader config.c: plumb the_reader through callbacks config.c: remove current_config_kvi config.c: remove current_parsing_scope config: report cached filenames in die_bad_number() config.c: rename "struct config_source cf" clone: error specifically with --local and symlinked objects setup: trace bare repository setups Han Xin (2): negotiator/default: avoid stack overflow negotiator/skipping: fix some problems in mark_common() Jacob Keller (2): blame: allow --contents to work with non-HEAD commit blame: use different author name for fake commit generated by --contents Jeff King (82): ref-filter: drop unused atom parameter from get_worktree_path() ls-refs: drop config caching serve: use repository pointer to get config serve: mark unused parameters in virtual functions object-name: mark unused parameters in disambiguate callbacks http-backend: mark argc/argv unused http-backend: mark unused parameters in virtual functions ref-filter: mark unused callback parameters mark "pointless" data pointers in callbacks run-command: mark error routine parameters as unused mark unused parameters in signal handlers list-objects: mark unused callback parameters for_each_object: mark unused callback parameters prio-queue: mark unused parameters in comparison functions notes: mark unused callback parameters fetch-pack: mark unused parameter in callback function rewrite_parents(): mark unused callback parameter for_each_commit_graft(): mark unused callback parameter userformat_want_item(): mark unused parameter run_processes_parallel: mark unused callback parameters help: mark unused parameter in git_unknown_cmd_config() fsck: factor out index fsck fsck: check index files in all worktrees fsck: mention file path for index errors fsck: check even zero-entry index files drop pure pass-through config callbacks bundle: turn on --all-progress-implied by default bundle: let "-" mean stdin for reading operations bundle: document handling of "-" as stdin parse-options: consistently allocate memory in fix_filename() parse-options: use prefix_filename_except_for_dash() helper diff: factor out src/dst prefix setup t4013: add tests for diff prefix options diff: add --default-prefix option format-patch: do not respect diff.noprefix format-patch: add format.noprefix option add-patch: handle "* Unmerged path" lines rebase: prefer --default-prefix to --{src,dst}-prefix for format-patch mailmap: drop debugging code http: drop unused parameter from start_object_request() http: mark unused parameter in fill_active_slot() callbacks transport: mark unused parameters in fetch_refs_from_bundle() git_connect(): fix corner cases in downgrading v2 to v0 fast-export: drop const when storing anonymized values fast-export: simplify initialization of anonymized hashmaps fast-export: factor out anonymized_entry creation fast-export: de-obfuscate --anonymize-map handling fast-export: drop data parameter from anonymous generators fast-export: drop unused parameter from anonymize_commit_message() pack-redundant: escalate deprecation warning to an error docs: document caveats of rev-list's object-name output fast-import: fix file access when run from subdir builtins: always pass prefix to parse_options() builtins: annotate always-empty prefix parameters builtins: mark unused prefix parameters mark "argv" as unused when we check argc t/helper: mark unused argv/argc arguments parse-options: drop parse_opt_unknown_cb() pack-redundant: document deprecation tests: run internal chain-linter under "make test" tests: replace chainlint subshell with a function tests: drop here-doc check from internal chain-linter tests: skip test_eval_ in internal chain-lint t/lib-httpd: pass PERL_PATH to CGI scripts v0 protocol: fix infinite loop when parsing multi-valued capabilities t5512: stop referring to "v1" protocol v0 protocol: fix sha1/sha256 confusion for capabilities^{} t5512: add v2 support for "ls-remote --symref" test t5512: allow any protocol version for filtered symref test t5512: test "ls-remote --heads --symref" filtering with v0 and v2 v0 protocol: use size_t for capability length/offset gpg-interface: set trust level of missing key to "undefined" notes: clean up confusing NULL checks in init_notes() fetch_bundle_uri(): drop pointless NULL check t4212: avoid putting git on left-hand side of pipe parse_commit(): parse timestamp from end of line parse_commit(): handle broken whitespace-only timestamp parse_commit(): describe more date-parsing failure modes doc-diff: drop SOURCE_DATE_EPOCH override t7001: avoid git on upstream of pipe t7001: use "ls-files --format" instead of "cut" t: drop "verbose" helper function Jiang Xin (1): object-info: init request_info before reading arg Johannes Schindelin (7): split-index & fsmonitor: demonstrate a bug split-index; stop abusing the `base_oid` to strip the "link" extension fsmonitor: avoid overriding `cache_changed` bits unpack-trees: take care to propagate the split-index flag t3701: we don't need no Perl for `add -i` anymore t5563: prevent "ambiguous redirect" gitk: prevent overly long command lines John Cai (1): name-rev: make --stdin hidden John Keeping (1): format-patch: output header for empty commits Josh Soref (1): subtree: support long global flags Jouke Witteveen (1): send-email docs: Remove mention of discontinued gmail feature Junio C Hamano (28): gpg-interface: lazily initialize and read the configuration bundle: don't blindly apply prefix_filename() to "-" Start the 2.41 cycle The second batch am: refer to format-patch in the documentation The third batch The fourth batch The fifth batch The sixth batch e-mail workflow: Message-ID is spelled with ID in both capital letters The seventh batch clone: propagate object-format when cloning from void The eighth batch The ninth batch The tenth batch The eleventh batch The twelfth batch The thirteenth batch doc: GIT_DEFAULT_HASH is and will be ignored during "clone" The fourteenth batch The fifteenth batch The sixteenth batch diff: refactor common tail part of dirstat computation diff: plug leaks in dirstat t9800: correct misuse of 'show -s --raw' in a test The seventeenth batch The eighteenth batch Git 2.41-rc0 Kristoffer Haugsbakk (5): config: tell the user that we expect an ASCII character doc: interpret-trailers: don’t use heredoc in examples doc: interpret-trailers: use input redirection doc: interpret-trailers: don’t use deprecated config doc: interpret-trailers: fix example Linus Arver (1): MyFirstContribution: render literal * M Hickford (3): credential/wincred: include wincred.h credential/wincred: store password_expiry_utc credential: new attribute oauth_refresh_token Martin Ågren (2): gittutorial: drop early mention of origin gittutorial: wrap literal examples in backticks Mathias Krause (1): grep: work around UTF-8 related JIT bug in PCRE2 <= 10.34 Matthew John Cheetham (3): t5563: add tests for basic and anoymous HTTP access http: read HTTP WWW-Authenticate response headers credential: add WWW-Authenticate header to cred requests Maxim Cournoyer (3): send-email: extract execute_cmd from recipients_cmd send-email: add --header-cmd, --no-header-cmd options send-email: detect empty blank lines in command output Michael J Gruber (1): t3070: make chain lint tester happy Michael Strawbridge (2): send-email: refactor header generation functions send-email: expose header information to git-send-email's sendemail-validate hook Mike Hommey (1): Handle some compiler versions containing a dash Nico Rieck (1): gitk: escape file paths before piping to git log Oswald Buddenhagen (5): sequencer: remove pointless rollback_lock_file() sequencer: rewrite save_head() in terms of write_message() sequencer: actually translate report in do_exec() messages: capitalization and punctuation exceptions t/t3501-revert-cherry-pick.sh: clarify scope of the file Patrick Steinhardt (27): receive-pack: fix stale packfile locks when dying fetch: move reference width calculation into `display_state` fetch: move output format into `display_state` fetch: pass the full local reference name to `format_display` fetch: centralize handling of per-reference format fetch: centralize logic to print remote URL fetch: centralize printing of reference updates commit-graph: fix truncated generation numbers midx: fix segfault with no packs and invalid preferred pack repack: fix trying to use preferred pack in alternates repack: fix generating multi-pack-index with only non-local packs pack-objects: split out `--stdin-packs` tests into separate file pack-objects: fix error when packing same pack twice pack-objects: fix error when same packfile is included and excluded pack-objects: extend test coverage of `--stdin-packs` with alternates t/helper: allow chmtime to print verbosely without modifying mtime repack: honor `-l` when calculating pack geometry repack: disable writing bitmaps when doing a local repack fetch: fix `--no-recurse-submodules` with multi-remote fetches fetch: split out tests for output format fetch: add a test to exercise invalid output formats fetch: print left-hand side when fetching HEAD:foo fetch: refactor calculation of the display table width fetch: introduce `display_format` enum fetch: lift up parsing of "fetch.output" config variable fetch: move option related variables into main function fetch: introduce machine-parseable "porcelain" output format Paul Eggert (1): git-compat-util: use gettimeofday(2) for time(2) Phillip Wood (8): wildmatch: fix exponential behavior wildmatch: avoid undefined behavior wildmatch: hide internal return values rebase: stop reading and writing unnecessary strategy state sequencer: use struct strvec to store merge strategy options rebase -m: cleanup --strategy-option handling rebase -m: fix serialization of strategy options rebase: remove a couple of redundant strategy tests Raghul Nanth A (1): describe: enable sparse index for describe René Scharfe (6): archive: improve support for running in subdirectory t5000: use check_mtime() userdiff: support regexec(3) with multi-byte support date: remove approxidate_relative() get-tar-commit-id: use TYPEFLAG_GLOBAL_HEADER instead of magic value test-ctype: check EOF Robin Jarry (1): send-email: export patch counters in validate environment Rubén Justo (10): bisect: fix "reset" when branch is checked out elsewhere worktree: introduce is_shared_symref() branch: fix die_if_checked_out() when ignore_current_worktree rebase: refuse to switch to a branch already checked out elsewhere (test) switch: reject if the branch is already checked out elsewhere (test) branch: test for failures while renaming branches branch: use get_worktrees() in copy_or_rename_branch() branch: description for orphan branch errors branch: rename orphan branches in any worktree branch: avoid unnecessary worktrees traversals SZEDER Gábor (6): treewide: include parse-options.h in source files treewide: remove unnecessary inclusions of parse-options.h from headers parse-options.h: use consistent name for the callback parameters parse-options.h: rename _OPT_CONTAINS_OR_WITH()'s parameters parse-options.h: use designated initializers in OPT_* macros cocci: remove 'unused.cocci' Shuqi Liang (3): write-tree: integrate with sparse index t1092: add tests for `git diff-files` diff-files: integrate with sparse index Siddharth Singh (1): hashmap.h: fix minor typo Sohom Datta (1): docs: clarify git rm --cached function in gitignore note Stanislav Malishevskiy (1): http: add support for different sslcert and sslkey types. Tao Klerks (1): mergetool: new config guiDefault supports auto-toggling gui by DISPLAY Taylor Blau (31): commit-graph: introduce `ensure_generations_valid()` pack-write.c: plug a leak in stage_tmp_packfiles() t5325: mark as leak-free pack-revindex: make `load_pack_revindex` take a repository pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK pack-revindex: introduce `pack.readReverseIndex` config: enable `pack.writeReverseIndex` by default t: invert `GIT_TEST_WRITE_REV_INDEX` pack-write.c: plug a leak in stage_tmp_packfiles() builtin/repack.c: fix incorrect reference to '-C' builtin/gc.c: ignore cruft packs with `--keep-largest-pack` t/t5304-prune.sh: prepare for `gc --cruft` by default t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default t/t6500-gc.sh: refactor cruft pack tests t/t6500-gc.sh: add additional test cases t/t9300-fast-import.sh: prepare for `gc --cruft` by default builtin/gc.c: make `gc.cruftPacks` enabled by default repository.h: drop unused `gc_cruft_packs` string-list: multi-delimiter `string_list_split_in_place()` string-list: introduce `string_list_setlen()` t/helper/test-hashmap.c: avoid using `strtok()` t/helper/test-oidmap.c: avoid using `strtok()` t/helper/test-json-writer.c: avoid using `strtok()` banned.h: mark `strtok()` and `strtok_r()` as banned credential.c: store "wwwauth[]" values in `credential_read()` t/lib-credential.sh: ensure credential helpers handle long headers contrib/credential: avoid fixed-size buffer in osxkeychain contrib/credential: remove 'gnome-keyring' credential helper contrib/credential: .gitignore libsecret build artifacts contrib/credential: avoid fixed-size buffer in libsecret contrib/credential: embiggen fixed-size buffer in wincred Teng Long (1): push: introduce '--branches' option William Sprent (2): builtin/sparse-checkout: remove NEED_WORK_TREE flag builtin/sparse-checkout: add check-rules command ZheNing Hu (2): receive-pack: fix funny ref error messsage push: allow delete single-level ref Ævar Arnfjörð Bjarmason (33): auto-crlf tests: don't lose exit code in loops and outside tests t/lib-patch-mode.sh: fix ignored exit codes tests: don't lose exit status with "(cd ...; test $(git ...))" tests: don't lose "git" exit codes in "! ( git ... | grep )" tests: don't lose exit status with "test $(git ...)" tests: don't lose misc "git" exit codes sequencer.c: fix overflow & segfault in parse_strategy_opts() cocci: remove dead rule from "the_repository.pending.cocci" cocci: fix incorrect & verbose "the_repository" rules cocci: sort "the_repository" rules by header cocci: add missing "the_repository" macros to "pending" cocci: apply the "cache.h" part of "the_repository.pending" cocci: apply the "commit-reach.h" part of "the_repository.pending" cocci: apply the "commit.h" part of "the_repository.pending" cocci: apply the "diff.h" part of "the_repository.pending" cocci: apply the "object-store.h" part of "the_repository.pending" cocci: apply the "pretty.h" part of "the_repository.pending" cocci: apply the "packfile.h" part of "the_repository.pending" cocci: apply the "promisor-remote.h" part of "the_repository.pending" cocci: apply the "refs.h" part of "the_repository.pending" cocci: apply the "rerere.h" part of "the_repository.pending" cocci: apply the "revision.h" part of "the_repository.pending" post-cocci: adjust comments for recent repo_* migration libs: use "struct repository *" argument, not "the_repository" config tests: cover blind spots in git_die_config() tests config tests: add "NULL" tests for *_get_value_multi() config API: add and use a "git_config_get()" family of functions versioncmp.c: refactor config reading next commit config API: have *_multi() return an "int" and take a "dest" for-each-repo: error on bad --config config API users: test for *_get_value_multi() segfaults config API: add "string" version of *_value_multi(), fix segfaults for-each-repo: with bad config, don't conflate and Øystein Walle (2): ref-filter: remove unused ref_format member branch, for-each-ref, tag: add option to omit empty lines Version v2.40.1; changes since v2.40.0: --------------------------------------- Derrick Stolee (1): ci: update 'static-analysis' to Ubuntu 22.04 Jeff King (7): http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION range-diff: drop useless "offset" variable from read_patches() http: support CURLOPT_PROTOCOLS_STR range-diff: handle unterminated lines in read_patches() range-diff: use ssize_t for parsed "len" in read_patches() Makefile: force -O0 when compiling with SANITIZE=leak Jiang Xin (4): github-actions: run gcc-8 on ubuntu-20.04 image ci: remove the pipe after "p4 -V" to catch errors ci: use the same version of p4 on both Linux and macOS ci: install python on ubuntu Johannes Schindelin (22): compat/win32/syslog: fix use-after-realloc nedmalloc: avoid new compile error t0033: GETTEXT_POISON fix t0003: GETTEXT_POISON fix, part 1 t0003: GETTEXT_POISON fix, conclusion t5619: GETTEXT_POISON fix t5604: GETTEXT_POISON fix, part 1 t5604: GETTEXT_POISON fix, conclusion clone.c: avoid "exceeds maximum object size" error with GCC v12.x apply --reject: overwrite existing `.rej` symlink if it exists gettext: avoid using gettext if the locale dir is not present tests: avoid using `test_i18ncmp` Git 2.31.8 Git 2.32.7 Git 2.33.8 Git 2.34.8 Git 2.35.8 Git 2.36.6 Git 2.37.7 Git 2.38.5 Git 2.39.3 Git 2.40.1 Junio C Hamano (1): http.c: clear the 'finished' member once we are done with it Taylor Blau (5): t1300: demonstrate failure when renaming sections with long lines config: avoid fixed-sized buffer when renaming/deleting a section config.c: avoid integer truncation in `copy_or_rename_section_in_file()` config.c: disallow overly-long lines in `copy_or_rename_section_in_file()` Git 2.30.9 Version v2.40.0; changes since v2.40.0-rc2: ------------------------------------------- Alexander Shopov (1): l10n: bg.po: Updated Bulgarian translation (5490t) Bagas Sanjaya (1): l10n: po-id for 2.40 (round 1) Emir SARI (1): l10n: tr: Update Turkish translations for v.2.40.0 Fangyi Zhou (1): l10n: zh_CN v2.40.0 round 1 Jean-Noël Avila (3): l10n: fr: fix some typos l10n: fr: v2.40.0 rnd 1 l10n: fr: v2.40.0 rnd 2 Jordi Mas (1): l10n: Update Catalan translation Junio C Hamano (1): Git 2.40 Peter Krefting (1): l10n: sv.po: Update Swedish translation (5490t0f0u) Ralf Thielow (1): l10n: update German translation Version v2.40.0-rc2; changes since v2.40.0-rc1: ----------------------------------------------- Gwyneth Morgan (1): signature-format.txt: note SSH and X.509 signature delimiters Junio C Hamano (1): Git 2.40-rc2 René Scharfe (1): range-diff: avoid compiler warning when char is unsigned Version v2.40.0-rc1; changes since v2.40.0-rc0: ----------------------------------------------- Andrei Rybak (1): test-lib: drop comment about test_description Ashutosh Pandey (1): t2015-checkout-unborn.sh: changes the style for cd Jeff King (21): shorten_unambiguous_ref(): avoid integer truncation shorten_unambiguous_ref(): use NUM_REV_PARSE_RULES constant shorten_unambiguous_ref(): avoid sscanf() add basic http proxy tests t0066: drop setup of "dir5" t5541: run "used receive-pack service" test earlier t5541: stop marking "used receive-pack service" test as v0 only t5541: simplify and move "no empty path components" test t5551: drop redundant grep for Accept-Language t5551: lower-case headers in expected curl trace t5551: handle HTTP/2 when checking curl trace t5551: stop forcing clone to run with v0 protocol t5551: handle v2 protocol when checking curl trace t5551: handle v2 protocol in upload-pack service test t5551: simplify expected cookie file t5551: handle v2 protocol in cookie test t5551: drop curl trace lines without headers t/lib-httpd: respect $HTTPD_PROTO in expect_askpass() t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c t5559: fix test failures with LIB_HTTPD_SSL t5559: make SSL/TLS the default John Cai (2): diff: consolidate diff algorithm option parsing diff: teach diff to read algorithm from diff driver Junio C Hamano (5): format.attach: allow empty value to disable multi-part messages A few more topics post 2.40-rc0 A bit more before 2.40-rc1 A bit more before 2.40-rc1 Git 2.40-rc1 M Hickford (1): credential: new attribute password_expiry_utc Matthias Aßhauer (1): fetch: choose a sensible default with --jobs=0 again Patrick Steinhardt (1): delta-islands: fix segfault when freeing island marks Phillip Wood (3): rebase -i: check labels and refs when parsing todo list rebase -i: match whole word in is_command() rebase -i: fix parsing of "fixup -C" René Scharfe (1): archive: add --mtime Taylor Blau (1): dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS` Teng Long (1): range-diff: let '--abbrev' option takes effect Zhang Yi (1): t9700: modernize test scripts idriss fekir (1): trace.c, git.c: remove unnecessary parameter to trace_repo_setup() Version v2.40.0-rc0; changes since v2.39.3: ------------------------------------------- Adam Szkoda (1): ssh signing: better error message when key not in agent Alison Winters (2): completion: add optional ignore-case when matching refs completion: add case-insensitive match of pseudorefs Andrei Rybak (11): gitattributes.txt: fix typo in "comma separated" *: fix typos which duplicate a word git-bisect-lk2009: update java code conventions link git-bisect-lk2009: update nist report link t6003: uncomment test '--max-age=c3, --topo-order' t6422: drop commented out code t7527: use test_when_finished in 'case insensitive+preserving' Documentation: render dash correctly userdiff: support Java type parameters userdiff: support Java record types userdiff: support Java sealed classes Calvin Wan (2): fetch: fix duplicate remote parallel fetch bug Documentation: clarify multiple pushurls vs urls Carlo Marcelo Arenas Belón (1): grep: correctly identify utf-8 characters with \{b,w} in -P Daniël Haazen (1): mingw: fix typo in an error message from ownership check Derrick Stolee (25): transport: rename got_remote_heads bundle-uri: serve bundle.* keys from config strbuf: introduce strbuf_strip_file_from_path() bundle-uri: allow relative URLs in bundle lists bundle-uri: download bundles from an advertised list clone: unbundle the advertised bundles hashfile: allow skipping the hash function read-cache: add index.skipHash config option test-lib-functions: add helper for trailing hash features: feature.manyFiles implies fast index writes t1600: fix racy index.skipHash test t: allow 'scalar' in test_must_fail t921*: test scalar behavior starting maintenance scalar: only warn when background maintenance fails bundle: test unbundling with incomplete history bundle: verify using check_connected() t5558: add tests for creationToken heuristic bundle-uri: parse bundle.heuristic=creationToken bundle-uri: parse bundle..creationToken values bundle-uri: download in creationToken order clone: set fetch.bundleURI if appropriate bundle-uri: drop bundle.flag from design doc fetch: fetch from an external bundle URI bundle-uri: store fetch.bundleCreationToken bundle-uri: test missing bundles with heuristic Elijah Newren (16): ls-files: add missing documentation for --resolve-undo option ls-files: clarify descriptions of file selection options ls-files: clarify descriptions of status tags for -t ls-files: guide folks to --exclude-standard over other --exclude* options t6426: fix TODO about making test more comprehensive rebase: mark --update-refs as requiring the merge backend rebase: flag --apply and --merge as incompatible rebase: remove --allow-empty-message from incompatible opts rebase: fix docs about incompatibilities with --root rebase: fix incompatiblity checks for --[no-]reapply-cherry-picks rebase: add coverage of other incompatible options rebase: clarify the OPT_CMDMODE incompatibilities rebase: fix formatting of rebase --reapply-cherry-picks option in docs rebase: put rebase_options initialization in single place rebase: provide better error message for apply options vs. merge config name-rev: fix names by dropping taggerdate workaround Emily Shaffer (4): run-command: allow stdin for run_processes_parallel hook API: support passing stdin to hooks, convert am's 'post-rewrite' sequencer: use the new hook API for the simpler "post-rewrite" call hook: support a --to-stdin= option Eric Sunshine (3): t1509: fix failing "root work tree" test due to owner-check t1509: make "setup" test more robust t1509: facilitate repeated script invocations Eric Wong (2): format-patch: support format.mboxrd with --stdout delta-islands: free island_marks and bitmaps Glen Choo (2): read-tree + fetch tests: test failing "--super-prefix" interaction docs: document zero bits in index "mode" Gwyneth Morgan (1): request-pull: filter out SSH/X.509 tag signatures Harshil-Jani (2): mingw: remove duplicate `USE_NED_ALLOCATOR` directive mingw: remove msysGit/MSYS1 support Jeff Hostetler (2): fsmonitor: fix race seen in t7527 fsmonitor: eliminate call to deprecated FSEventStream function Jeff King (32): git-jump: move valid-mode check earlier pack-bitmap.c: break out of the bitmap loop early if not tracing pack-bitmap.c: trace bitmap ignore logs when midx-bitmap is found ref-filter: reject arguments to %(HEAD) ref-filter: factor out "%(foo) does not take arguments" errors ref-filter: factor out "unrecognized %(foo) arg" errors ref-filter: truncate atom names in error messages ref-filter: convert email atom parser to use err_bad_arg() test-bundle-uri: drop unused variables convert trivial uses of strncmp() to starts_with() convert trivial uses of strncmp() to skip_prefix() object-file: inline calls to read_object() streaming: inline call to read_object_file_extended() read_object_file_extended(): drop lookup_replace option repo_read_object_file(): stop wrapping read_object_file_extended() packfile: inline custom read_object() object-file: fix indent-with-space t/interop: report which vanilla git command failed t1007: modernize malformed object tests t1006: stop using 0-padded timestamps t7030: stop using invalid tag name t: use hash-object --literally when created malformed objects fsck: provide a function to fsck buffer without object struct hash-object: use fsck for object checks hash-object: fix descriptor leak with --literally fsck: do not assume NUL-termination of buffers t/lib-httpd: bump required apache version to 2.2 t/lib-httpd: bump required apache version to 2.4 t/lib-httpd: drop SSLMutex config t/lib-httpd: increase ssl key size to 2048 bits doc/ls-remote: cosmetic cleanups for examples doc/ls-remote: clarify pattern format Jiang Xin (3): t1301: fix wrong template dir for git-init t1301: use test_when_finished for cleanup t1301: do not change $CWD in "shared=all" test case Johannes Schindelin (11): bisect--helper: handle states directly Turn `git bisect` into a full built-in t0021: use Windows-friendly `pwd` tests(mingw): avoid very slow `mingw_test_cmp` bisect--helper: simplify exit code computation bisect: verify that a bogus option won't try to start a bisection bisect run: fix the error message bisect: remove Cogito-related code bisect: no longer try to clean up left-over `.git/head-name` files t7510: add a test case that does not need gpg gpg: do show gpg's error message upon failure John Cai (2): docs: link generating patch sections attr: fix instructions on how to check attrs Jonathan Tan (5): http-fetch: invoke trace2_cmd_name() object-file: remove OBJECT_INFO_IGNORE_LOOSE object-file: refactor map_loose_object_1() object-file: emit corruption errors when detected commit: don't lazy-fetch commits Junio C Hamano (22): Start the 2.40 cycle The first batch for 2.40 The second batch The third batch The fourth batch The fifth batch The sixth batch format-patch: unleak "-v " The seventh batch The eighth batch The ninth batch The tenth batch The eleventh batch The twelfth batch The thirteenth batch The fourteenth batch The fifteenth batch The sixteenth batch rev-list: clarify git-log default date format test-genzeros: avoid raw write(2) The seventeenth batch Git 2.40-rc0 Karthik Nayak (2): t0003: move setup for `--all` into new block attr: add flag `--source` to work with tree-ish Kostya Farber (1): t5000: modernise archive and :(glob) test Kyle Meyer (2): send-email: relay '-v N' to format-patch doc/git-branch: fix --force description typo Kyle Zhao (3): merge-tree.c: add --merge-base= option merge-tree.c: allow specifying the merge-base when --stdin is passed docs: fix description of the `--merge-base` option M Hickford (1): Documentation: clarify that cache forgets credentials if the system restarts Martin Ågren (1): git-cat-file.txt: fix list continuations rendering literally Mathias Krause (1): grep: fall back to interpreter if JIT memory allocation fails Peter Grayson (1): diff: fix regression with --stat and unmerged file Philip Oakley (6): doc: pretty-formats: separate parameters from placeholders doc: pretty-formats: delineate `%<|(` parameter values doc: pretty-formats document negative column alignments doc: pretty-formats describe use of ellipsis in truncation doc: pretty-formats note wide char limitations, and add tests .gitattributes: include `text` attribute for eol attributes Philippe Blain (1): branch: improve advice when --recurse-submodules fails Phillip Wood (2): ci(github): restore "print test failures" step name rebase: cleanup "--exec" option handling René Scharfe (19): t5317: stop losing return codes of git ls-files t5317: demonstrate failure to handle multiple --filter options pack-objects: fix handling of multiple --filter options pack-objects: simplify --filter handling list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT() diff: factor out add_diff_options() diff: use add_diff_options() in diff_opt_parse() diff: remove parseopts member from struct diff_options mingw: make argv2 in try_shell_exec() non-const factor out BARF_UNLESS_COPYABLE do full type check in BARF_UNLESS_COPYABLE add DUP_ARRAY use DUP_ARRAY read-cache: use size_t for {base,df}_name_compare() pack-objects: use strcspn(3) in name_cmp_len() cache-tree: fix strbuf growth in prime_cache_tree_rec() test-ctype: test isascii test-ctype: test islower and isupper test-ctype: test iscntrl, ispunct, isxdigit and isprint Rudy Rigot (1): status: modernize git-status "slow untracked files" advice SZEDER Gábor (1): tests: make 'test_oid' print trailing newline Sean Allred (3): var: do not print usage() with a correct invocation var: allow GIT_EDITOR to return null var: add GIT_SEQUENCE_EDITOR variable Seija (1): maintenance: compare output of pthread functions for inequality with 0 Seija Kijin (5): win32: use _endthreadex to terminate threads, not ExitThread win32: prepare pthread.c for change by formatting win32: close handles of threads that have been joined merge: break out of all_strategy loop when strategy is found compat/winansi: check for errors of CreateThread() correctly Siddharth Asthana (2): cat-file: add mailmap support to -s option cat-file: add mailmap support to --batch-check option Simon Gerber (1): help.c: fix autocorrect in work tree for bare repository Sven Strickroth (1): submodule: accept -v for the update command Teng Long (4): pack-bitmap.c: remove unnecessary "open_pack_index()" calls pack-bitmap.c: avoid exposing absolute paths ls-tree: cleanup the redundant SPACE t3104: remove shift code in 'test_ls_tree_format' Thierry Reding (1): am: allow passing --no-verify flag Torsten Bögershausen (1): t0003: call dd with portable blocksize Wes Lord (1): new-command.txt: update reference to builtin docs Yoichi Nakayama (2): git-jump: add an optional argument '--stdout' git-jump: invoke emacs/emacsclient Yukai Chou (1): doc: fix non-existent config name Yutaro Ohno (1): doc: add "git switch -c" as another option on detached HEAD ZheNing Hu (1): scalar: show progress if stderr refers to a terminal Ævar Arnfjörð Bjarmason (84): bisect tests: test for v2.30.0 "bisect run" regressions bisect: refactor bisect_run() to match CodingGuidelines bisect test: test exit codes on bad usage bisect--helper: emit usage for "git bisect" bisect; remove unused "git-bisect.sh" and ".gitignore" entry tests: mark tests as passing with SANITIZE=leak {reset,merge}: call discard_index() before returning commit: discard partial cache before (re-)reading it read-cache.c: clear and free "sparse_checkout_patterns" dir.c: free "ident" and "exclude_per_dir" in "struct untracked_cache" built-ins & libs & helpers: add/move destructors, fix leaks unpack-file: fix ancient leak in create_temp_file() revision API: call graph_clear() in release_revisions() ls-files: fix a --with-tree memory leak sequencer.c: fix "opts->strategy" leak in read_strategy_opts() connected.c: free the "struct packed_git" rebase: don't leak on "--abort" cherry-pick: free "struct replay_opts" members revert: fix parse_options_concat() leak built-ins: use free() not UNLEAK() if trivial, rm dead code Makefile: use sha1collisiondetection by default on OSX and Darwin protocol v2: add server-side "bundle-uri" skeleton t: create test harness for 'bundle-uri' command clone: request the 'bundle-uri' command when available bundle-uri client: add boolean transfer.bundleURI setting bundle-uri client: add helper for testing server submodule absorbgitdirs tests: add missing "Migrating git..." tests submodule.c & submodule--helper: pass along "super_prefix" param submodule--helper: don't use global --super-prefix in "absorbgitdirs" submodule--helper: convert "foreach" to its own "--super-prefix" submodule--helper: convert "sync" to its own "--super-prefix" submodule--helper: convert "status" to its own "--super-prefix" submodule--helper: convert "{update,clone}" to their own "--super-prefix" read-tree: add "--super-prefix" option, eliminate global builtin/difftool.c: { 0 }-initialize rather than using memset() sparse-index.c: expand_to_path() can assume non-NULL "istate" sparse-index API: BUG() out on NULL ensure_full_index() read-cache.c: refactor set_new_index_sparsity() for subsequent commit bisect--helper: make the order consistently `argc, argv` ls-tree: don't use "show_tree_data" for "fast" callbacks ls-tree: use a "struct options" ls-tree: fold "show_tree_data" into "cb" struct ls-tree: make "line_termination" less generic env-helper: move this built-in to "test-tool env-helper" cache API: add a "INDEX_STATE_INIT" macro/function, add release_index() treewide: always have a valid "index_state.repo" member add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" add API: remove run_add_interactive() wrapper function docs & comments: replace mentions of "git-add--interactive.perl" tests: mark tests as passing with SANITIZE=leak bundle.c: don't leak the "args" in the "struct child_process" commit-graph: use free_commit_graph() instead of UNLEAK() clone: use free() instead of UNLEAK() various: add missing clear_pathspec(), fix leaks name-rev: don't xstrdup() an already dup'd string repack: fix leaks on error with "goto cleanup" worktree: fix a trivial leak in prune_worktrees() http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main() http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}() commit-graph: fix a parse_options_concat() leak show-branch: free() allocated "head" before return builtin/merge.c: use fixed strings, not "strbuf", fix leak builtin/merge.c: free "&buf" on "Your local changes..." error grep.c: refactor free_grep_patterns() grep API: plug memory leaks by freeing "header_list" receive-pack: release the linked "struct command *" list push: refactor refspec_append_mapped() for subsequent leak-fix push: free_refs() the "local_refs" in set_refspecs() rebase: use "cleanup" pattern in do_interactive_rebase() sequencer.c: split up sequencer_remove_state() sequencer API users: fix get_replay_opts() leaks builtin/revert.c: move free-ing of "revs" to replay_opts_release() builtin/rebase.c: fix "options.onto_name" leak sequencer.c: always free() the "msgbuf" in do_pick_commit() builtin/rebase.c: free() "options.strategy_opts" commit.c: free() revs.commit in get_fork_point() config.h: remove unused git_configset_add_parameters() run-command.c: remove dead assignment in while-loop builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE" cocci & cache.h: fully apply "active_nr" part of index-compatibility cocci & cache.h: apply pending "index_cache_pos" rule cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*" cache-tree API: remove redundant update_main_cache_tree() cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS" Đoàn Trần Công Danh (6): bisect: fix output regressions in v2.30.0 bisect run: keep some of the post-v2.30.0 output bisect-run: verify_good: account for non-negative exit status bisect--helper: identify as bisect when report error bisect--helper: log: allow arbitrary number of arguments date.c: allow ISO 8601 reduced precision times Version v2.39.3; changes since v2.39.2: --------------------------------------- Chris. Webster (3): ci (check-whitespace): suggest fixes for errors ci (check-whitespace): add links to job output ci (check-whitespace): move to actions/checkout@v3 Derrick Stolee (1): ci: update 'static-analysis' to Ubuntu 22.04 Eric Sunshine (1): githooks: discuss Git operations in foreign repositories Jeff King (25): git-compat-util: avoid redefining system function names git-compat-util: undefine system names before redeclaring them server_supports_v2(): use a separate function for die_on_error ls-refs: use repository parameter to iterate refs blob: drop unused parts of parse_blob_buffer() list-objects: drop process_gitlink() function ws: drop unused parameter from ws_blank_line() xdiff: drop unused parameter in def_ff() xdiff: mark unused parameter in xdl_call_hunk_func() diff: mark unused parameters in callbacks list-objects-filter: mark unused parameters in virtual functions userdiff: mark unused parameter in internal callback diff: use filespec path to set up tempfiles for ext-diff diff: clean up external-diff argv setup diff: drop "name" parameter from prepare_temp_file() http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION http: support CURLOPT_PROTOCOLS_STR http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION range-diff: drop useless "offset" variable from read_patches() http: support CURLOPT_PROTOCOLS_STR range-diff: handle unterminated lines in read_patches() range-diff: use ssize_t for parsed "len" in read_patches() Makefile: force -O0 when compiling with SANITIZE=leak Jiang Xin (4): github-actions: run gcc-8 on ubuntu-20.04 image ci: remove the pipe after "p4 -V" to catch errors ci: use the same version of p4 on both Linux and macOS ci: install python on ubuntu Johannes Schindelin (22): ci: only run win+VS build & tests in Git for Windows' fork compat/win32/syslog: fix use-after-realloc nedmalloc: avoid new compile error t0033: GETTEXT_POISON fix t0003: GETTEXT_POISON fix, part 1 t0003: GETTEXT_POISON fix, conclusion t5619: GETTEXT_POISON fix t5604: GETTEXT_POISON fix, part 1 t5604: GETTEXT_POISON fix, conclusion clone.c: avoid "exceeds maximum object size" error with GCC v12.x apply --reject: overwrite existing `.rej` symlink if it exists gettext: avoid using gettext if the locale dir is not present tests: avoid using `test_i18ncmp` Git 2.31.8 Git 2.32.7 Git 2.33.8 Git 2.34.8 Git 2.35.8 Git 2.36.6 Git 2.37.7 Git 2.38.5 Git 2.39.3 Johannes Sixt (1): t3920: don't ignore errors of more than one command with `|| true` Junio C Hamano (4): branch: document `-f` and linked worktree behaviour checkout: document -b/-B to highlight the differences from "git branch" Prepare for 2.39.3 just in case http.c: clear the 'finished' member once we are done with it Lars Kellogg-Stedman (1): line-range: fix infinite loop bug with '$' regex Patrick Steinhardt (1): refs: fix corruption by not correctly syncing packed-refs to disk Philippe Blain (5): git-cherry-pick.txt: do not use 'ORIG_HEAD' in example git-reset.txt: mention 'ORIG_HEAD' in the Description git-merge.txt: mention 'ORIG_HEAD' in the Description revisions.txt: be explicit about commands writing 'ORIG_HEAD' git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten René Scharfe (10): t4205: don't exit test script on failure list-objects-filter: plug pattern_list leak t3920: support CR-eating grep reflog: clear leftovers in reflog_expiry_cleanup() commit: skip already cleared parents in clear_commit_marks_1() am: don't pass strvec to apply_parse_options() object-file: inline write_buffer() use enhanced basic regular expressions on macOS ls-tree: fix expansion of repeated %(path) ls-tree: remove dead store and strbuf for quote_c_style() Rubén Justo (1): branch: force-copy a branch to itself via @{-1} is a no-op Seija Kijin (1): git: remove duplicate includes Taylor Blau (6): ci: avoid unnecessary builds t1300: demonstrate failure when renaming sections with long lines config: avoid fixed-sized buffer when renaming/deleting a section config.c: avoid integer truncation in `copy_or_rename_section_in_file()` config.c: disallow overly-long lines in `copy_or_rename_section_in_file()` Git 2.30.9 William Sprent (1): dir: check for single file cone patterns Ævar Arnfjörð Bjarmason (6): t5314: check exit code of "git" t7600: don't ignore "rev-parse" exit code in helper t4023: fix ignored exit codes of git bundle: don't segfault on "git bundle " builtin/bundle.c: remove superfluous "newargc" variable bundle : have usage_msg_opt() note the missing "" Version v2.39.2; changes since v2.39.1: --------------------------------------- Jeff King (3): http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION http: support CURLOPT_PROTOCOLS_STR Johannes Schindelin (12): fsck: document the new `gitattributes` message IDs attr: adjust a mismatched data type attr: adjust a mismatched data type Git 2.31.7 Git 2.32.6 Git 2.33.7 Git 2.34.7 Git 2.35.7 Git 2.36.5 Git 2.37.6 Git 2.38.4 Git 2.39.2 Junio C Hamano (1): Git 2.30.8 Patrick Steinhardt (1): apply: fix writing behind newly created symbolic links Taylor Blau (3): t5619: demonstrate clone_local() with ambiguous transport clone: delay picking a transport until after get_repo_path() dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS Version v2.39.1; changes since v2.39.0: --------------------------------------- Carlo Marcelo Arenas Belón (1): test-lib: add prerequisite for 64-bit platforms Junio C Hamano (10): Git 2.30.7 Git 2.31.6 Git 2.32.5 Git 2.33.6 Git 2.34.6 Git 2.35.6 Git 2.36.4 Git 2.37.5 Git 2.38.3 Git 2.39.1 Patrick Steinhardt (25): attr: fix overflow when upserting attribute with overly long name attr: fix out-of-bounds read with huge attribute names attr: fix integer overflow when parsing huge attribute names attr: fix out-of-bounds write when parsing huge number of attributes attr: fix out-of-bounds read with unreasonable amount of patterns attr: fix integer overflow with more than INT_MAX macros attr: harden allocation against integer overflows attr: fix silently splitting up lines longer than 2048 bytes attr: ignore attribute lines exceeding 2048 bytes attr: ignore overly large gitattributes files pretty: fix out-of-bounds write caused by integer overflow pretty: fix out-of-bounds read when left-flushing with stealing pretty: fix out-of-bounds read when parsing invalid padding format pretty: fix adding linefeed when placeholder is not expanded pretty: fix integer overflow in wrapping format utf8: fix truncated string lengths in `utf8_strnwidth()` utf8: fix returning negative string width utf8: fix overflow when returning string width utf8: fix checking for glyph width in `strbuf_utf8_replace()` utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer pretty: restrict input lengths for padding and wrapping formats fsck: refactor `fsck_blob()` to allow for more checks fsck: pull out function to check a set of blobs fsck: move checks for gitattributes fsck: implement checks for gitattributes Version v2.39.0; changes since v2.39.0-rc2: ------------------------------------------- Alexander Shopov (1): l10n: bg.po: Updated Bulgarian translation (5501t) Bagas Sanjaya (1): l10n: po-id for 2.39 (round 1) Emir SARI (1): l10n: tr: v2.39.0 updates Fangyi Zhou (1): l10n: zh_CN v2.39.0 round 1 Jean-Noël Avila (1): l10n: fr: v2.39 rnd 1 Johannes Schindelin (3): ci: avoid using deprecated {up,down}load-artifacts Action RelNotes: a couple of typofixes ci: use a newer `github-script` version Jordi Mas (1): l10n: Update Catalan translation Junio C Hamano (2): Git 2.38.2 Git 2.39 Matheus Tavares (1): mailmap: update email address of Matheus Tavares Oscar Dominguez (1): ci(main): upgrade actions/checkout to v3 Peter Krefting (1): l10n: sv.po: Update Swedish translation (5501t0f0) Ralf Thielow (1): l10n: de.po: update German translation Victoria Dye (1): rebase --update-refs: avoid unintended ref deletion Yi-Jyun Pan (1): l10n: zh_TW.po: Git 2.39-rc2 Ævar Arnfjörð Bjarmason (3): CI: upgrade to macos-12, and pin OSX version CI: don't explicitly pick "bash" shell outside of Windows, fix regression CI: migrate away from deprecated "set-output" syntax Version v2.39.0-rc2; changes since v2.39.0-rc1: ----------------------------------------------- Junio C Hamano (1): Git 2.39-rc2 Ævar Arnfjörð Bjarmason (2): Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4 cocci: avoid "should ... be a metavariable" warnings Version v2.39.0-rc1; changes since v2.39.0-rc0: ----------------------------------------------- Andreas Hasenack (1): chainlint.pl: fix /proc/cpuinfo regexp Eric Sunshine (1): lib-httpd: extend module location auto-detection Eric Wong (1): prune: quiet ENOENT on missing directories Glen Choo (1): object-file: use real paths when adding alternates Jean-Noël Avila (1): i18n: fix command template placeholder format Jeff King (2): parse_object(): drop extra "has" check before checking object type parse_object(): check on-disk type of suspected blob Jiang Xin (5): t5516: fail to run in verbose mode github-actions: run gcc-8 on ubuntu-20.04 image ci: remove the pipe after "p4 -V" to catch errors ci: use the same version of p4 on both Linux and macOS ci: install python on ubuntu Junio C Hamano (3): Another batch before -rc1 A bit more before -rc1 Git 2.39-rc1 Kyle Meyer (1): merge-recursive: fix variable typo in error message Paul Smith (1): Makefile: avoid multiple patterns when recipes generate one file Phillip Wood (3): git_parse_unsigned: reject negative values config: require at least one digit when parsing numbers git_parse_signed(): avoid integer overflow René Scharfe (1): list-objects-filter: plug combine_filter_data leak SZEDER Gábor (3): line-log: free diff queue when processing non-merge commits line-log: free the diff queues' arrays when processing merge commits diff.c: use diff_free_queue() Ævar Arnfjörð Bjarmason (13): cache.h: remove unused "the_index" compat macros builtin/{grep,log}.: don't define "USE_THE_INDEX_COMPATIBILITY_MACROS" cocci & cache.h: remove rarely used "the_index" compat macros read-cache API & users: make discard_index() return void cocci: add a index-compatibility.pending.cocci cocci & cache.h: apply a selection of "pending" index-compatibility cocci & cache.h: apply variable section of "pending" index-compatibility cocci: apply "pending" index-compatibility to "t/helper/*.c" {builtin/*,repository}.c: add & use "USE_THE_INDEX_VARIABLE" cache.h & test-tool.h: add & use "USE_THE_INDEX_VARIABLE" cocci: apply "pending" index-compatibility to some "builtin/*.c" parse_object(): simplify blob conditional trace2 tests: guard pthread test with "PTHREAD" Version v2.39.0-rc0; changes since v2.38.5: ------------------------------------------- Alex Henrie (1): push: improve grammar of branch.autoSetupMerge advice Anh Le (2): index: add trace2 region for clear skip worktree index: raise a bug if the index is materialised more than once Arthur Chan (1): fuzz: reorganise the path for existing oss-fuzz fuzzers Daniel Sonbolian (1): git.c: improve code readability in cmd_main() Debra Obondo (1): t7001-mv.sh: modernizing test script using functions Derrick Stolee (14): maintenance: add 'unregister --force' scalar: make 'unregister' idempotent gc: replace config subprocesses with API calls string-list: document iterator behavior on NULL input bundle-uri: use plain string in find_temp_filename() bundle-uri: create bundle_list struct and helpers bundle-uri: create base key-value pair parsing bundle-uri: parse bundle list in config format bundle-uri: limit recursion depth for bundle lists bundle: properly clear all revision flags bundle-uri: fetch a list of bundles bundle: add flags to verify_bundle() bundle-uri: quiet failed unbundlings bundle-uri: suppress stderr from remote-https Diomidis Spinellis (1): grep: fix multibyte regex handling under macOS Elijah Newren (4): merge-ort: fix bug with dir rename vs change dir to symlink merge-tree: update documentation for differences in -z output merge-tree: support multiple batched merges with --stdin sparse-checkout.txt: new document with sparse-checkout directions Emily Shaffer (2): gc: add tests for --cruft and friends config: let feature.experimental imply gc.cruftPacks=true Eric DeCosta (6): fsmonitor: refactor filesystem checks to common interface fsmonitor: relocate socket file if .git directory is remote fsmonitor: avoid socket location check if using hook fsmonitor: deal with synthetic firmlinks on macOS fsmonitor: check for compatability before communicating with fsmonitor fsmonitor: add documentation for allowRemote and socketDir options Eric Sunshine (8): check-non-portable-shell: detect obsolescent egrep/fgrep chainlint: add explanatory comments chainlint: tighten accuracy when consuming input stream chainlint: latch start/end position of each token chainlint: annotate original test definition rather than token stream chainlint: sidestep impoverished macOS "terminfo" chainlint: latch line numbers at which each token starts and ends chainlint: prefix annotated test definition with line numbers Eric Wong (1): delta-islands: free island-related data after use Glen Choo (2): config: respect includes in protected config http: redact curl h2h3 headers in info Han-Wen Nienhuys (1): refs: unify parse_worktree_ref() and ref_type() Jeff Hostetler (8): trace2: use size_t alloc,nr_open_regions in tr2tls_thread_ctx tr2tls: clarify TLS terminology api-trace2.txt: elminate section describing the public trace2 API trace2: rename the thread_name argument to trace2_thread_start trace2: improve thread-name documentation in the thread-context trace2: convert ctx.thread_name from strbuf to pointer trace2: add stopwatch timers trace2: add global counter mechanism Jeff King (27): fsmonitor: fix leak of warning message diffstat_consume(): assert non-zero length submodule--helper: drop unused argc from module_list_compute() update-index: drop unused argc from do_reupdate() mark unused parameters in trivial compat functions object-file: mark unused parameters in hash_unknown functions string-list: mark unused callback parameters date: mark unused parameters in handler functions apply: mark unused parameters in handlers apply: mark unused parameters in noop error/warning routine convert: mark unused parameter in null stream filter diffcore-pickaxe: mark unused parameters in pickaxe functions ll-merge: mark unused parameters in callbacks Makefile: force -O0 when compiling with SANITIZE=leak repack: convert "names" util bitfield to array repack: populate extension bits incrementally repack: expand error message for missing pack files repack: use tempfiles for signal cleanup repack: drop remove_temporary_files() Git.pm: trust rev-parse to find bare repositories t7700: annotate cruft-pack failure with ok=sigpipe shortlog: accept `--date`-related options t5516: move plaintext-password tests from t5601 and t5516 ref-filter: fix parsing of signatures without blank lines ref-filter: fix parsing of signatures with CRLF and no body branch: gracefully handle '-d' on orphan HEAD t: run t5551 tests with both HTTP and HTTP/2 Jerry Zhang (6): patch-id: fix stable patch id for binary / header-only patch-id: use stable patch-id for rebases builtin: patch-id: fix patch-id with binary diffs patch-id: fix patch-id for mode changes builtin: patch-id: add --verbatim as a command mode builtin: patch-id: remove unused diff-tree prefix Johannes Schindelin (9): cmake: make it easier to diagnose regressions in CTest runs cmake: copy the merge tools for testing add -p: avoid ambiguous signed/unsigned comparison cmake: avoid editing t/test-lib.sh cmake: increase time-out for a long-running test t5516/t5601: be less strict about the number of credential warnings scalar reconfigure -a: remove stale `scalar.repo` entries ci: use a newer `github-script` version tests(scalar): tighten the stale `scalar.repo` test some John Cai (2): fsck: remove the unused BAD_TAG_OBJECT fsck: document msg-id Jonathan Tan (4): promisor-remote: remove a return value promisor-remote: die upon failing fetch negotiator/skipping: avoid stack overflow Doc: document push.recurseSubmodules=only Julia Ramer (1): embargoed releases: also describe the git-security list and the process Junio C Hamano (17): Start 2.39 cycle symbolic-ref: teach "--[no-]recurse" option The (real) first batch for 2.39 The second batch The third batch The fourth batch ci: add address and undefined sanitizer tasks ci: use DC_SHA1=YesPlease on osx-clang job for CI The fifth batch diff: leave NEEDWORK notes in show_stats() function fsck: remove the unused MISSING_TREE_OBJECT Documentation: add lint-fsck-msgids The sixth batch The seventh batch The eighth batch adjust_shared_perm(): leave g+s alone when the group does not matter Git 2.39-rc0 Kousik Sanagavarapu (1): repository-version.txt: partialClone casing change M Hickford (4): Documentation/gitcredentials.txt: mention password alternatives Documentation: increase example cache timeout to 1 hour docs: clarify that credential discards unrecognised attributes Docs: describe how a credential-generating helper works Martin Ågren (1): test-lib-functions: drop redundant diagnostic print Matthew John Cheetham (3): wincred: ignore unknown lines (do not die) netrc: ignore unknown lines (do not die) osxkeychain: clarify that we ignore unknown lines Michael J Gruber (1): notes: avoid empty line in template Michael McClimon (1): Git.pm: add semicolon after catch statement Nsengiyumva Wilberforce (1): t1002: modernize outdated conditional Patrick Steinhardt (7): refs: fix memory leak when parsing hideRefs config refs: get rid of global list of hidden refs revision: move together exclusion-related functions revision: introduce struct to handle exclusions revision: add new parameter to exclude hidden refs rev-parse: add `--exclude-hidden=` option receive-pack: only use visible refs for connectivity check Philip Oakley (4): doc: use "commit-graph" hyphenation consistently doc: use 'object database' not ODB or abbreviation glossary: add "commit graph" description glossary: add reachability bitmap description Philippe Blain (9): test-lib-functions: mark 'test_commit' variables as 'local' subtree: use 'git rev-parse --verify [--quiet]' for better error messages subtree: add 'die_incompatible_opt' function to reduce duplication subtree: prefix die messages with 'fatal' subtree: define a variable before its first use in 'find_latest_squash' subtree: use named variables instead of "$@" in cmd_pull subtree: process 'git-subtree-split' trailer in separate function subtree: fix squash merging after annotated tag was squashed merged subtree: fix split after annotated tag was squashed merged Phillip Wood (20): t3416: tighten two tests t3416: set $EDITOR in subshell rebase: be stricter when reading state files containing oids rebase: store orig_head as a commit rebase: rename merge_base to branch_base rebase: factor out branch_base calculation rebase --keep-base: imply --reapply-cherry-picks rebase --keep-base: imply --no-fork-point rebase --apply: remove duplicated code t3406: rework rebase reflog tests rebase --merge: fix reflog when continuing rebase --merge: fix reflog message after skipping rebase --apply: respect GIT_REFLOG_ACTION rebase --apply: make reflog messages match rebase --merge rebase --abort: improve reflog message rebase: cleanup action handling sequencer: stop exporting GIT_REFLOG_ACTION rebase: stop exporting GIT_REFLOG_ACTION sequencer: unify label lookup sequencer: tighten label lookups René Scharfe (16): revision: use strtol_i() for exclude_parent revisions.txt: unspecify order of resolved parts of ^! diff: support ^! for merges submodule: use strvec_pushf() for --super-prefix run-command: fix return value comment am: simplify building "show" argument list bisect: simplify building "checkout" argument list bisect--helper: factor out do_bisect_run() sequencer: simplify building argument list in do_exec() use child_process member "args" instead of string array variable use child_process members "args" and "env" directly replace and remove run_command_v_opt_cd_env() replace and remove run_command_v_opt_tr2() replace and remove run_command_v_opt_cd_env_tr2() replace and remove run_command_v_opt() archive-tar: report filter start error only once Ronan Pigott (2): for-each-repo: interpolate repo path arguments maintenance: add option to register in a specific config Rubén Justo (3): branch: support for shortcuts like @{-1}, completed branch: error copying or renaming a detached HEAD branch: error code with --edit-description SZEDER Gábor (1): Documentation/build-docdep.perl: generate sorted output Shaoxuan Yuan (1): builtin/grep.c: integrate with sparse index Sotir Danailov (1): docs: git-send-email: difference between ssl and tls smtp-encryption Taylor Blau (26): midx.c: fix whitespace typo midx.c: consider annotated tags during bitmap selection midx.c: instrument MIDX and bitmap generation with trace2 regions pack-bitmap-write.c: instrument number of reused bitmaps builtin/repack.c: remove redundant pack-based bitmaps repack: don't remove .keep packs with `--pack-kept-objects` builtin/repack.c: pass "out" to `prepare_pack_objects` builtin/repack.c: pass "cruft_expiration" to `write_cruft_pack` builtin/repack.c: write cruft packs to arbitrary locations builtin/repack.c: implement `--expire-to` for storing pruned objects shortlog: make trailer insertion a noop when appropriate shortlog: extract `--group` fragment for translation shortlog: support arbitrary commit format `--group`s shortlog: extract `shortlog_finish_setup()` shortlog: implement `--group=author` in terms of `--group=` shortlog: implement `--group=committer` in terms of `--group=` apply: reject patches larger than ~1 GiB Documentation/howto/maintain-git.txt: fix Meta/redo-jch.sh invocation The ninth batch Documentation: build redo-jch.sh from master..jch Documentation: build redo-seen.sh from jch..seen The tenth batch The eleventh batch The twelfth batch builtin/gc.c: fix use-after-free in maintenance_unregister() The thirteenth batch Torsten Bögershausen (1): diff.c: use utf8_strwidth() to count display width Victoria Dye (6): rebase --update-refs: avoid unintended ref deletion cache-tree: add perf test comparing update and prime unpack-trees: add 'skip_cache_tree_update' option reset: use 'skip_cache_tree_update' option read-tree: use 'skip_cache_tree_update' option rebase: use 'skip_cache_tree_update' option Vincent Bernat (1): ls-files: fix --ignored and --killed flags in synopsis Vlad-Stefan Harbuz (1): Documentation: fix typo srz_zumix (1): fsmonitor--daemon: on macOS support symlink Ævar Arnfjörð Bjarmason (94): grep.c: remove "extended" in favor of "pattern_expression", fix segfault bundle-uri: create "key=value" line parsing bundle-uri: unit test "key=value" parsing run-command test helper: use "else if" pattern run-command API: have "run_processes_parallel{,_tr2}()" return void run-command tests: use "return", not "exit" run-command API: make "n" parameter a "size_t" run-command API: don't fall back on online_cpus() run-command.c: use designated init for pp_init(), add "const" run-command API: have run_process_parallel() take an "opts" struct run-command API: move *_tr2() users to "run_processes_parallel()" run-command.c: make "struct parallel_processes" const if possible run-command.c: don't copy *_fn to "struct parallel_processes" run-command.c: don't copy "ungroup" to "struct parallel_processes" run-command.c: don't copy "data" to "struct parallel_processes" run-command.c: use "opts->processes", not "pp->max_processes" run-command.c: pass "opts" further down, and use "opts->processes" run-command.c: remove "max_processes", add "const" to signal() handler tests: assert *.txt SYNOPSIS and -h output CodingGuidelines: update and clarify command-line conventions builtin/bundle.c: indent with tabs bundle: define subcommand -h in terms of command -h doc SYNOPSIS: don't use ' for subcommands doc SYNOPSIS: consistently use ' for commands built-ins: consistently add "\n" between "usage" and options doc txt & -h consistency: word-wrap doc txt & -h consistency: fix incorrect alternates syntax doc txt & -h consistency: add "-z" to cat-file "-h" doc txt & -h consistency: balance unbalanced "[" and "]" doc txt & -h consistency: correct padding around "[]()" stash doc SYNOPSIS & -h: correct padding around "[]()" doc txt & -h consistency: use "", not "..." doc SYNOPSIS & -h: use "-" to separate words in labels, not "_" doc txt & -h consistency: fix mismatching labels doc txt & -h consistency: add or fix optional "--" syntax doc txt & -h consistency: make output order consistent doc txt & -h consistency: add missing options and labels doc txt & -h consistency: make "rerere" consistent doc txt & -h consistency: make "read-tree" consistent doc txt & -h consistency: make "bundle" consistent doc txt & -h consistency: use "git foo" form, not "git-foo" doc txt & -h consistency: add missing options doc txt & -h consistency: make "stash" consistent doc txt & -h consistency: make "annotate" consistent doc txt & -h consistency: use "[