From cb99946239e45aef68c2a7168262def132399550 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 9 Apr 2024 15:34:29 +0200 Subject: Adding debian version 1:2.43.0-1. Signed-off-by: Daniel Baumann --- debian/changelog.upstream | 81982 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81982 insertions(+) create mode 100644 debian/changelog.upstream (limited to 'debian/changelog.upstream') diff --git a/debian/changelog.upstream b/debian/changelog.upstream new file mode 100644 index 0000000..69e5ac8 --- /dev/null +++ b/debian/changelog.upstream @@ -0,0 +1,81982 @@ +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 "[