c5f7ef5 | Junio C Hamano | 24 February 2023, 19:32:40 UTC | Git 2.40-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 24 February 2023, 19:32:40 UTC |
deb32d6 | Junio C Hamano | 24 February 2023, 19:32:30 UTC | Merge branch 'jc/genzeros-avoid-raw-write' A test helper had a single write(2) of 256kB, which was too big for some platforms (e.g. NonStop), which has been corrected by using xwrite() wrapper appropriately. * jc/genzeros-avoid-raw-write: test-genzeros: avoid raw write(2) | 24 February 2023, 19:32:30 UTC |
a7981d0 | Junio C Hamano | 24 February 2023, 19:32:29 UTC | Merge branch 'rd/doc-default-date-format' Update --date=default documentation. * rd/doc-default-date-format: rev-list: clarify git-log default date format | 24 February 2023, 19:32:30 UTC |
38a227b | Junio C Hamano | 24 February 2023, 19:32:29 UTC | Merge branch 'js/gpg-errors' Error messages given upon a signature verification failure used to discard the errors from underlying gpg program, which has been corrected. * js/gpg-errors: gpg: do show gpg's error message upon failure t7510: add a test case that does not need gpg | 24 February 2023, 19:32:29 UTC |
9861932 | Junio C Hamano | 24 February 2023, 19:32:29 UTC | Merge branch 'rs/ctype-test' Test safe_ctype * rs/ctype-test: test-ctype: test iscntrl, ispunct, isxdigit and isprint test-ctype: test islower and isupper test-ctype: test isascii | 24 February 2023, 19:32:29 UTC |
06dd2ba | Junio C Hamano | 22 February 2023, 22:55:59 UTC | The seventeenth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 February 2023, 22:55:59 UTC |
5048df6 | Junio C Hamano | 22 February 2023, 22:55:45 UTC | Merge branch 'ab/hook-api-with-stdin' Extend the run-hooks API to allow feeding data from the standard input when running the hook script(s). * ab/hook-api-with-stdin: hook: support a --to-stdin=<path> option sequencer: use the new hook API for the simpler "post-rewrite" call hook API: support passing stdin to hooks, convert am's 'post-rewrite' run-command: allow stdin for run_processes_parallel run-command.c: remove dead assignment in while-loop | 22 February 2023, 22:55:45 UTC |
72972ea | Junio C Hamano | 22 February 2023, 22:55:45 UTC | Merge branch 'ab/various-leak-fixes' Leak fixes. * ab/various-leak-fixes: push: free_refs() the "local_refs" in set_refspecs() push: refactor refspec_append_mapped() for subsequent leak-fix receive-pack: release the linked "struct command *" list grep API: plug memory leaks by freeing "header_list" grep.c: refactor free_grep_patterns() builtin/merge.c: free "&buf" on "Your local changes..." error builtin/merge.c: use fixed strings, not "strbuf", fix leak show-branch: free() allocated "head" before return commit-graph: fix a parse_options_concat() leak http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}() http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main() worktree: fix a trivial leak in prune_worktrees() repack: fix leaks on error with "goto cleanup" name-rev: don't xstrdup() an already dup'd string various: add missing clear_pathspec(), fix leaks clone: use free() instead of UNLEAK() commit-graph: use free_commit_graph() instead of UNLEAK() bundle.c: don't leak the "args" in the "struct child_process" tests: mark tests as passing with SANITIZE=leak | 22 February 2023, 22:55:45 UTC |
6aac634 | Junio C Hamano | 22 February 2023, 22:55:45 UTC | Merge branch 'jk/doc-ls-remote-matching' Doc update. * jk/doc-ls-remote-matching: doc/ls-remote: clarify pattern format doc/ls-remote: cosmetic cleanups for examples | 22 February 2023, 22:55:45 UTC |
a42d69e | Junio C Hamano | 22 February 2023, 22:55:44 UTC | Merge branch 'rs/cache-tree-strbuf-growth-fix' Remove unnecessary explicit sizing of strbuf. * rs/cache-tree-strbuf-growth-fix: cache-tree: fix strbuf growth in prime_cache_tree_rec() | 22 February 2023, 22:55:44 UTC |
24fb150 | Junio C Hamano | 22 February 2023, 22:55:44 UTC | Merge branch 'ab/the-index-compatibility' Remove more remaining uses of macros that relies on the_index singleton instance without explicitly spelling it out. * ab/the-index-compatibility: cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS" cache-tree API: remove redundant update_main_cache_tree() cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*" cocci & cache.h: apply pending "index_cache_pos" rule cocci & cache.h: fully apply "active_nr" part of index-compatibility builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE" | 22 February 2023, 22:55:44 UTC |
5fc6d00 | Junio C Hamano | 22 February 2023, 22:55:44 UTC | Merge branch 'en/name-rev-make-taggerdate-much-less-important' "git name-rev" heuristics update. * en/name-rev-make-taggerdate-much-less-important: name-rev: fix names by dropping taggerdate workaround | 22 February 2023, 22:55:44 UTC |
58eab6f | Junio C Hamano | 16 February 2023, 02:56:14 UTC | test-genzeros: avoid raw write(2) This test helper feeds 256kB of data at once to a single invocation of the write(2) system call, which may be too much for some platforms. Call our xwrite() wrapper that knows to honor MAX_IO_SIZE limit and cope with short writes due to EINTR instead, and die a bit more loudly by calling die_errno() when xwrite() indicates an error. Reported-by: Randall S. Becker <rsbecker@nexbridge.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2023, 16:30:38 UTC |
9deef08 | Junio C Hamano | 16 February 2023, 00:42:25 UTC | rev-list: clarify git-log default date format The documentation mistakenly said that the default format was similar to RFC 2822 format and tried to specify it by enumerating differences, which had two problems: * There are some more differences from the 2822 format that are not mentioned; worse yet * The default format is not modeled after RFC 2822 format at all. As can be seen in f80cd783 (date.c: add "show_date()" function., 2005-05-06), it is a derivative of ctime(3) format. Stop saying that it is similar to RFC 2822, and rewrite the description to explain the format without requiring the reader to know any other format. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2023, 01:34:46 UTC |
d9d677b | Junio C Hamano | 16 February 2023, 00:08:41 UTC | The sixteenth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 February 2023, 01:11:54 UTC |
59397e9 | Junio C Hamano | 16 February 2023, 01:11:54 UTC | Merge branch 'cw/doc-pushurl-vs-url' Doc update. * cw/doc-pushurl-vs-url: Documentation: clarify multiple pushurls vs urls | 16 February 2023, 01:11:54 UTC |
eb11ec2 | Junio C Hamano | 16 February 2023, 01:11:54 UTC | Merge branch 'ab/config-h-remove-unused' Code clean-up. * ab/config-h-remove-unused: config.h: remove unused git_configset_add_parameters() | 16 February 2023, 01:11:54 UTC |
06bca97 | Junio C Hamano | 16 February 2023, 01:11:53 UTC | Merge branch 'ab/retire-scripted-add-p' Finally retire the scripted "git add -p/-i" implementation and have everybody use the one reimplemented in C. * ab/retire-scripted-add-p: docs & comments: replace mentions of "git-add--interactive.perl" add API: remove run_add_interactive() wrapper function add: remove "add.interactive.useBuiltin" & Perl "git add--interactive" | 16 February 2023, 01:11:53 UTC |
c5f7b2a | Junio C Hamano | 16 February 2023, 01:11:53 UTC | Merge branch 'rs/size-t-fixes' Type fixes. * rs/size-t-fixes: pack-objects: use strcspn(3) in name_cmp_len() read-cache: use size_t for {base,df}_name_compare() | 16 February 2023, 01:11:53 UTC |
063ec7b | Junio C Hamano | 16 February 2023, 01:11:53 UTC | Merge branch 'kf/t5000-modernise' Test clean-up. * kf/t5000-modernise: t5000: modernise archive and :(glob) test | 16 February 2023, 01:11:53 UTC |
aa1e73b | Junio C Hamano | 16 February 2023, 01:11:53 UTC | Merge branch 'wl/new-command-doc' Comment fix. * wl/new-command-doc: new-command.txt: update reference to builtin docs | 16 February 2023, 01:11:53 UTC |
4a6e6b0 | Junio C Hamano | 16 February 2023, 01:11:52 UTC | Merge branch 'ar/userdiff-java-update' Userdiff regexp update for Java language. * ar/userdiff-java-update: userdiff: support Java sealed classes userdiff: support Java record types userdiff: support Java type parameters | 16 February 2023, 01:11:52 UTC |
f7c208c | Junio C Hamano | 16 February 2023, 01:11:52 UTC | Merge branch 'po/attributes-text' In-tree .gitattributes update to match the way we recommend our users to mark a file as text. * po/attributes-text: .gitattributes: include `text` attribute for eol attributes | 16 February 2023, 01:11:52 UTC |
a232de5 | Junio C Hamano | 16 February 2023, 01:11:52 UTC | Merge branch 'ab/sequencer-unleak' Plug leaks in sequencer subsystem and its users. * ab/sequencer-unleak: commit.c: free() revs.commit in get_fork_point() builtin/rebase.c: free() "options.strategy_opts" sequencer.c: always free() the "msgbuf" in do_pick_commit() builtin/rebase.c: fix "options.onto_name" leak builtin/revert.c: move free-ing of "revs" to replay_opts_release() sequencer API users: fix get_replay_opts() leaks sequencer.c: split up sequencer_remove_state() rebase: use "cleanup" pattern in do_interactive_rebase() | 16 February 2023, 01:11:52 UTC |
4f59836 | Junio C Hamano | 16 February 2023, 01:11:52 UTC | Merge branch 'ds/bundle-uri-5' The bundle-URI subsystem adds support for creation-token heuristics to help incremental fetches. * ds/bundle-uri-5: bundle-uri: test missing bundles with heuristic bundle-uri: store fetch.bundleCreationToken fetch: fetch from an external bundle URI bundle-uri: drop bundle.flag from design doc clone: set fetch.bundleURI if appropriate bundle-uri: download in creationToken order bundle-uri: parse bundle.<id>.creationToken values bundle-uri: parse bundle.heuristic=creationToken t5558: add tests for creationToken heuristic bundle: verify using check_connected() bundle: test unbundling with incomplete history | 16 February 2023, 01:11:52 UTC |
214242a | Junio C Hamano | 16 February 2023, 01:11:51 UTC | Merge branch 'cb/grep-fallback-failing-jit' In an environment where dynamically generated code is prohibited to run (e.g. SELinux), failure to JIT pcre patterns is expected. Fall back to interpreted execution in such a case. * cb/grep-fallback-failing-jit: grep: fall back to interpreter if JIT memory allocation fails | 16 February 2023, 01:11:51 UTC |
ad6b320 | Johannes Schindelin | 15 February 2023, 05:58:34 UTC | gpg: do show gpg's error message upon failure There are few things more frustrating when signing a commit fails than reading a terse "error: gpg failed to sign the data" message followed by the unsurprising "fatal: failed to write commit object" message. In many cases where signing a commit or tag fails, `gpg` actually said something helpful, on its stderr, and Git even consumed that, but then keeps mum about it. Teach Git to stop withholding that rather important information. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 February 2023, 16:55:24 UTC |
8300d15 | Johannes Schindelin | 15 February 2023, 05:58:33 UTC | t7510: add a test case that does not need gpg This test case not only increases test coverage in setups without working gpg, but also prepares for verifying that the error message of `gpg.program` is shown upon failure. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 February 2023, 16:55:22 UTC |
b148564 | Junio C Hamano | 14 February 2023, 22:17:35 UTC | Sync with 'maint' | 14 February 2023, 22:17:35 UTC |
768bb23 | Junio C Hamano | 14 February 2023, 22:15:23 UTC | Prepare for 2.39.3 just in case Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 February 2023, 22:15:57 UTC |
037db6d | Junio C Hamano | 14 February 2023, 22:15:57 UTC | Merge branch 'sk/remove-duplicate-includes' into maint-2.39 Code clean-up. * sk/remove-duplicate-includes: git: remove duplicate includes | 14 February 2023, 22:15:57 UTC |
ff6c740 | Junio C Hamano | 14 February 2023, 22:15:57 UTC | Merge branch 'rs/clarify-error-in-write-loose-object' into maint-2.39 Code clean-up. * rs/clarify-error-in-write-loose-object: object-file: inline write_buffer() | 14 February 2023, 22:15:57 UTC |
651b443 | Junio C Hamano | 14 February 2023, 22:15:56 UTC | Merge branch 'rs/reflog-expiry-cleanup' into maint-2.39 Code clean-up. * rs/reflog-expiry-cleanup: reflog: clear leftovers in reflog_expiry_cleanup() | 14 February 2023, 22:15:56 UTC |
dfd37b7 | Junio C Hamano | 14 February 2023, 22:15:56 UTC | Merge branch 'rs/clear-commit-marks-cleanup' into maint-2.39 Code clean-up. * rs/clear-commit-marks-cleanup: commit: skip already cleared parents in clear_commit_marks_1() | 14 February 2023, 22:15:56 UTC |
7ac5eca | Junio C Hamano | 14 February 2023, 22:15:56 UTC | Merge branch 'rs/am-parse-options-cleanup' into maint-2.39 Code clean-up. * rs/am-parse-options-cleanup: am: don't pass strvec to apply_parse_options() | 14 February 2023, 22:15:56 UTC |
b7a7af2 | Junio C Hamano | 14 February 2023, 22:15:55 UTC | Merge branch 'jk/server-supports-v2-cleanup' into maint-2.39 Code clean-up. * jk/server-supports-v2-cleanup: server_supports_v2(): use a separate function for die_on_error | 14 February 2023, 22:15:55 UTC |
8d404d0 | Junio C Hamano | 14 February 2023, 22:15:55 UTC | Merge branch 'jk/unused-post-2.39' into maint-2.39 Code clean-up around unused function parameters. * jk/unused-post-2.39: userdiff: mark unused parameter in internal callback list-objects-filter: mark unused parameters in virtual functions diff: mark unused parameters in callbacks xdiff: mark unused parameter in xdl_call_hunk_func() xdiff: drop unused parameter in def_ff() ws: drop unused parameter from ws_blank_line() list-objects: drop process_gitlink() function blob: drop unused parts of parse_blob_buffer() ls-refs: use repository parameter to iterate refs | 14 February 2023, 22:15:55 UTC |
2f80d1b | Junio C Hamano | 14 February 2023, 22:15:55 UTC | Merge branch 'rj/branch-copy-and-rename' into maint-2.39 Fix a pair of bugs in 'git branch'. * rj/branch-copy-and-rename: branch: force-copy a branch to itself via @{-1} is a no-op | 14 February 2023, 22:15:55 UTC |
8ca2b1f | Junio C Hamano | 14 February 2023, 22:15:54 UTC | Merge branch 'rs/t3920-crlf-eating-grep-fix' into maint-2.39 Test fix. * rs/t3920-crlf-eating-grep-fix: t3920: support CR-eating grep | 14 February 2023, 22:15:54 UTC |
763ae82 | Junio C Hamano | 14 February 2023, 22:15:54 UTC | Merge branch 'js/t3920-shell-and-or-fix' into maint-2.39 Test fix. * js/t3920-shell-and-or-fix: t3920: don't ignore errors of more than one command with `|| true` | 14 February 2023, 22:15:54 UTC |
81b216e | Junio C Hamano | 14 February 2023, 22:15:54 UTC | Merge branch 'ab/t4023-avoid-losing-exit-status-of-diff' into maint-2.39 Test fix. * ab/t4023-avoid-losing-exit-status-of-diff: t4023: fix ignored exit codes of git | 14 February 2023, 22:15:54 UTC |
54941a5 | Junio C Hamano | 14 February 2023, 22:15:53 UTC | Merge branch 'ab/t7600-avoid-losing-exit-status-of-git' into maint-2.39 Test fix. * ab/t7600-avoid-losing-exit-status-of-git: t7600: don't ignore "rev-parse" exit code in helper | 14 February 2023, 22:15:54 UTC |
2509d01 | Junio C Hamano | 14 February 2023, 22:15:53 UTC | Merge branch 'ab/t5314-avoid-losing-exit-status' into maint-2.39 Test fix. * ab/t5314-avoid-losing-exit-status: t5314: check exit code of "git" | 14 February 2023, 22:15:53 UTC |
5a8f4c8 | Junio C Hamano | 14 February 2023, 22:15:53 UTC | Merge branch 'rs/plug-pattern-list-leak-in-lof' into maint-2.39 Leak fix. * rs/plug-pattern-list-leak-in-lof: list-objects-filter: plug pattern_list leak | 14 February 2023, 22:15:53 UTC |
db2a91b | Junio C Hamano | 14 February 2023, 22:15:53 UTC | Merge branch 'rs/t4205-do-not-exit-in-test-script' into maint-2.39 Test fix. * rs/t4205-do-not-exit-in-test-script: t4205: don't exit test script on failure | 14 February 2023, 22:15:53 UTC |
e34fd13 | Junio C Hamano | 14 February 2023, 22:15:52 UTC | Merge branch 'jc/doc-checkout-b' into maint-2.39 Clarify how "checkout -b/-B" and "git branch [-f]" are similar but different in the documentation. * jc/doc-checkout-b: checkout: document -b/-B to highlight the differences from "git branch" | 14 February 2023, 22:15:52 UTC |
26fc326 | Junio C Hamano | 14 February 2023, 22:15:52 UTC | Merge branch 'jc/doc-branch-update-checked-out-branch' into maint-2.39 Document that "branch -f <branch>" disables only the safety to avoid recreating an existing branch. * jc/doc-branch-update-checked-out-branch: branch: document `-f` and linked worktree behaviour | 14 February 2023, 22:15:52 UTC |
1f07146 | Junio C Hamano | 14 February 2023, 22:15:52 UTC | Merge branch 'rs/ls-tree-path-expansion-fix' into maint-2.39 "git ls-tree --format='%(path) %(path)' $tree $path" showed the path three times, which has been corrected. * rs/ls-tree-path-expansion-fix: ls-tree: remove dead store and strbuf for quote_c_style() ls-tree: fix expansion of repeated %(path) | 14 February 2023, 22:15:52 UTC |
fa5958f | Junio C Hamano | 14 February 2023, 22:15:51 UTC | Merge branch 'pb/doc-orig-head' into maint-2.39 Document ORIG_HEAD a bit more. * pb/doc-orig-head: git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten revisions.txt: be explicit about commands writing 'ORIG_HEAD' git-merge.txt: mention 'ORIG_HEAD' in the Description git-reset.txt: mention 'ORIG_HEAD' in the Description git-cherry-pick.txt: do not use 'ORIG_HEAD' in example | 14 February 2023, 22:15:51 UTC |
4f8ab59 | Junio C Hamano | 14 February 2023, 22:15:51 UTC | Merge branch 'es/hooks-and-local-env' into maint-2.39 Doc update for environment variables set when hooks are invoked. * es/hooks-and-local-env: githooks: discuss Git operations in foreign repositories | 14 February 2023, 22:15:51 UTC |
4950677 | Junio C Hamano | 14 February 2023, 22:15:51 UTC | Merge branch 'ws/single-file-cone' into maint-2.39 The logic to see if we are using the "cone" mode by checking the sparsity patterns has been tightened to avoid mistaking a pattern that names a single file as specifying a cone. * ws/single-file-cone: dir: check for single file cone patterns | 14 February 2023, 22:15:51 UTC |
f8382a6 | Junio C Hamano | 14 February 2023, 22:15:50 UTC | Merge branch 'jk/ext-diff-with-relative' into maint-2.39 "git diff --relative" did not mix well with "git diff --ext-diff", which has been corrected. * jk/ext-diff-with-relative: diff: drop "name" parameter from prepare_temp_file() diff: clean up external-diff argv setup diff: use filespec path to set up tempfiles for ext-diff | 14 February 2023, 22:15:51 UTC |
7cbfd0e | Junio C Hamano | 14 February 2023, 22:15:50 UTC | Merge branch 'ab/bundle-wo-args' into maint-2.39 Fix to a small regression in 2.38 days. * ab/bundle-wo-args: bundle <cmd>: have usage_msg_opt() note the missing "<file>" builtin/bundle.c: remove superfluous "newargc" variable bundle: don't segfault on "git bundle <subcmd>" | 14 February 2023, 22:15:50 UTC |
259988a | Junio C Hamano | 14 February 2023, 22:15:50 UTC | Merge branch 'ps/fsync-refs-fix' into maint-2.39 Fix the sequence to fsync $GIT_DIR/packed-refs file that forgot to flush its output to the disk.. * ps/fsync-refs-fix: refs: fix corruption by not correctly syncing packed-refs to disk | 14 February 2023, 22:15:50 UTC |
725f293 | Junio C Hamano | 14 February 2023, 22:15:49 UTC | Merge branch 'lk/line-range-parsing-fix' into maint-2.39 When given a pattern that matches an empty string at the end of a line, the code to parse the "git diff" line-ranges fell into an infinite loop, which has been corrected. * lk/line-range-parsing-fix: line-range: fix infinite loop bug with '$' regex | 14 February 2023, 22:15:49 UTC |
a67610f | Junio C Hamano | 14 February 2023, 22:15:49 UTC | Merge branch 'rs/use-enhanced-bre-on-macos' into maint-2.39 Newer regex library macOS stopped enabling GNU-like enhanced BRE, where '\(A\|B\)' works as alternation, unless explicitly asked with the REG_ENHANCED flag. "git grep" now can be compiled to do so, to retain the old behaviour. * rs/use-enhanced-bre-on-macos: use enhanced basic regular expressions on macOS | 14 February 2023, 22:15:49 UTC |
11b53f8 | Junio C Hamano | 14 February 2023, 22:15:49 UTC | Merge branch 'jk/curl-avoid-deprecated-api' into maint-2.39 Deal with a few deprecation warning from cURL library. * jk/curl-avoid-deprecated-api: http: support CURLOPT_PROTOCOLS_STR http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT | 14 February 2023, 22:15:49 UTC |
6cdb8cd | Junio C Hamano | 14 February 2023, 22:15:49 UTC | Merge branch 'jk/avoid-redef-system-functions' into maint-2.39 The jk/avoid-redef-system-functions-2.30 topic pre-merged for more recent codebase. * jk/avoid-redef-system-functions: | 14 February 2023, 22:15:49 UTC |
f3a28c2 | Junio C Hamano | 14 February 2023, 22:15:47 UTC | Merge branch 'jk/avoid-redef-system-functions-2.30' into maint-2.39 Redefining system functions for a few functions did not follow our usual "implement git_foo() and #define foo(args) git_foo(args)" pattern, which has broken build for some folks. * jk/avoid-redef-system-functions-2.30: git-compat-util: undefine system names before redeclaring them git-compat-util: avoid redefining system function names | 14 February 2023, 22:15:47 UTC |
83d585a | Junio C Hamano | 14 February 2023, 22:15:46 UTC | Merge branch 'tb/ci-concurrency' into maint-2.39 Avoid unnecessary builds in CI, with settings configured in ci-config. * tb/ci-concurrency: ci: avoid unnecessary builds | 14 February 2023, 22:15:46 UTC |
f66b749 | Junio C Hamano | 14 February 2023, 22:15:45 UTC | Merge branch 'cw/ci-whitespace' into maint-2.39 CI updates. We probably want a clean-up to move the long shell script embedded in yaml file into a separate file, but that can come later. * cw/ci-whitespace: ci (check-whitespace): move to actions/checkout@v3 ci (check-whitespace): add links to job output ci (check-whitespace): suggest fixes for errors | 14 February 2023, 22:15:45 UTC |
a9405a8 | Junio C Hamano | 14 February 2023, 22:15:45 UTC | Merge branch 'js/ci-disable-cmake-by-default' into maint-2.39 Stop running win+VS build by default. * js/ci-disable-cmake-by-default: ci: only run win+VS build & tests in Git for Windows' fork | 14 February 2023, 22:15:45 UTC |
c867e4f | Junio C Hamano | 14 February 2023, 01:03:24 UTC | Sync with Git 2.39.2 | 14 February 2023, 01:03:55 UTC |
567342f | René Scharfe | 13 February 2023, 21:12:02 UTC | test-ctype: test iscntrl, ispunct, isxdigit and isprint Test the character classifiers added by 1c149ab2dd (ctype: support iscntrl, ispunct, isxdigit and isprint, 2012-10-15) and 0fcec2ce54 (format-patch: make rfc2047 encoding more strict, 2012-10-18). Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2023, 21:36:05 UTC |
2c17de8 | René Scharfe | 13 February 2023, 21:10:45 UTC | test-ctype: test islower and isupper Test the character classifiers added by 43ccdf56ec (ctype: implement islower/isupper macro, 2012-02-10). Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2023, 21:36:05 UTC |
d5071be | René Scharfe | 13 February 2023, 21:09:58 UTC | test-ctype: test isascii Test the character classifier added by c2e9364a06 (cleanup: add isascii(), 2009-03-07). It returns 1 for NUL as well, which requires special treatment, as our string-based tester can't find it with strcmp(3). Allow NUL to be given as the first character in a class specification string. This has the downside of no longer supporting the empty string, but that's OK since we are not interested in testing character classes with no members. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 February 2023, 21:36:05 UTC |
d9ec3b0 | Jeff King | 11 February 2023, 04:52:56 UTC | doc/ls-remote: clarify pattern format We document that you can specify "refs" to ls-remote, but we don't explain any further than that they are "matched" as patterns. Since this can be interpreted in a lot of ways, let's clarify that they are tail-matched globs. Likewise, let's use the word "patterns" to refer to them consistently, rather than "refs" (both here and in the quick "-h" help), and mention more explicitly that only one pattern needs to be matched (though there is also an example already that shows this in action). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 February 2023, 05:57:51 UTC |
baebde7 | Jeff King | 11 February 2023, 02:44:13 UTC | doc/ls-remote: cosmetic cleanups for examples There are effectively three example commands and their output, but they're smushed together with no extra whitespace. Let's add some blank lines to make them more readable. Likewise, the first example uses "./." to refer to the path of the current repository, which is somewhat distracting. That may have been necessary back in 2005 when it was added, but we can just say "." these days. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 February 2023, 02:54:58 UTC |
93ea118 | René Scharfe | 10 February 2023, 20:20:30 UTC | cache-tree: fix strbuf growth in prime_cache_tree_rec() Use size_t to store the original length of the strbuf tree_len, as that's the correct type. Don't double the allocated size of the strbuf when adding a subdirectory name. And the chance of the trailing slash fitting in the slack left by strbuf_add() is very high, so stop pre-growing the strbuf at all. Suggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 20:24:12 UTC |
dfd0a89 | Ævar Arnfjörð Bjarmason | 10 February 2023, 10:28:39 UTC | cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS" Have the last users of "USE_THE_INDEX_COMPATIBILITY_MACROS" use the underlying *_index() variants instead. Now all previous users of "USE_THE_INDEX_COMPATIBILITY_MACROS" have been migrated away from the wrapper macros, and if applicable to use the "USE_THE_INDEX_VARIABLE" added in [1]. Let's leave the "index-compatibility.cocci" in place, even though it won't be doing anything on "master". It will benefit any out-of-tree code that need to use these compatibility macros. We can eventually remove it. 1. bdafeae0b9c (cache.h & test-tool.h: add & use "USE_THE_INDEX_VARIABLE", 2022-11-19) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 19:38:40 UTC |
fcb864b | Ævar Arnfjörð Bjarmason | 10 February 2023, 10:28:38 UTC | cache-tree API: remove redundant update_main_cache_tree() Remove the redundant update_main_cache_tree() function, and make its users use cache_tree_update() instead. The behavior of populating the "the_index.cache_tree" if it wasn't present already was needed when this function was introduced in [1], but it hasn't been needed since [2]; The "cache_tree_update()" will now lazy-allocate, so there's no need for the wrapper. 1. 996277c5206 (Refactor cache_tree_update idiom from commit, 2011-12-06) 2. fb0882648e0 (cache-tree: clean up cache_tree_update(), 2021-01-23) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 19:38:14 UTC |
9937086 | Ævar Arnfjörð Bjarmason | 10 February 2023, 10:28:37 UTC | cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*" Add a trivial rule for "write_cache_as_tree" to "index-compatibility.cocci", and apply it. This was left out of the rules added in 0e6550a2c63 (cocci: add a index-compatibility.pending.cocci, 2022-11-19) because this compatibility wrapper lived in "cache-tree.h", not "cache.h" But it's like the other "USE_THE_INDEX_COMPATIBILITY_MACROS", so let's migrate it too. The replacement of "USE_THE_INDEX_COMPATIBILITY_MACROS" here with "USE_THE_INDEX_VARIABLE" is a manual change on top, now that these files only use "&the_index", and don't need any compatibility macros (or functions). The wrapping of some argument lists is likewise manual, as coccinelle would otherwise give us overly long argument lists. The reason for putting the "O" in the cocci rule on the "-" and "+" lines is because I couldn't get correct whitespacing otherwise, i.e. I'd end up with "oid,&the_index", not "oid, &the_index". Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 19:37:49 UTC |
babed89 | Ævar Arnfjörð Bjarmason | 10 February 2023, 10:28:36 UTC | cocci & cache.h: apply pending "index_cache_pos" rule Apply the rule added in [1] to change "cache_name_pos" to "index_name_pos", which allows us to get rid of another "USE_THE_INDEX_COMPATIBILITY_MACROS" macro. The replacement of "USE_THE_INDEX_COMPATIBILITY_MACROS" here with "USE_THE_INDEX_VARIABLE" is a manual change on top, now that these files only use "&the_index", and don't need any compatibility macros (or functions). 1. 0e6550a2c63 (cocci: add a index-compatibility.pending.cocci, 2022-11-19) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 19:37:27 UTC |
cec13b9 | Ævar Arnfjörð Bjarmason | 10 February 2023, 10:28:35 UTC | cocci & cache.h: fully apply "active_nr" part of index-compatibility Apply the "active_nr" part of "index-compatibility.pending.cocci", which was left out in [1] due to an in-flight conflict. As of [2] the topic we conflicted with has been merged to "master", so we can fully apply this rule. 1. dc594180d9e (cocci & cache.h: apply variable section of "pending" index-compatibility, 2022-11-19) 2. 9ea1378d046 (Merge branch 'ab/various-leak-fixes', 2022-12-14) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 19:31:18 UTC |
6193aaa | Ævar Arnfjörð Bjarmason | 10 February 2023, 10:28:34 UTC | builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE" Replace the "USE_THE_INDEX_COMPATIBILITY_MACROS" define with the narrower "USE_THE_INDEX_VARIABLE". This could have been done in 07047d68294 (cocci: apply "pending" index-compatibility to some "builtin/*.c", 2022-11-19), but I missed it at the time. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 February 2023, 19:31:16 UTC |
23c56f7 | Junio C Hamano | 09 February 2023, 22:40:34 UTC | The fifteenth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 February 2023, 22:40:47 UTC |
6d1b2e4 | Junio C Hamano | 09 February 2023, 22:40:47 UTC | Merge branch 'ew/free-island-marks' "git pack-objects" learned to release delta-island bitmap data when it is done using it, saving peak heap memory usage. * ew/free-island-marks: delta-islands: free island_marks and bitmaps | 09 February 2023, 22:40:47 UTC |
8a1d607 | Junio C Hamano | 09 February 2023, 22:40:47 UTC | Merge branch 'sk/winansi-createthread-fix' Fix use of CreateThread() API call made early in the windows start-up code. * sk/winansi-createthread-fix: compat/winansi: check for errors of CreateThread() correctly | 09 February 2023, 22:40:47 UTC |
4158b92 | Junio C Hamano | 09 February 2023, 22:40:47 UTC | Merge branch 'hj/remove-msys-support' Remove support for MSys, which now lags way behind MSys2. * hj/remove-msys-support: mingw: remove msysGit/MSYS1 support mingw: remove duplicate `USE_NED_ALLOCATOR` directive | 09 February 2023, 22:40:47 UTC |
a674c7e | Junio C Hamano | 09 February 2023, 22:40:46 UTC | Merge branch 'jk/httpd-test-updates' Test update. * jk/httpd-test-updates: t/lib-httpd: increase ssl key size to 2048 bits t/lib-httpd: drop SSLMutex config t/lib-httpd: bump required apache version to 2.4 t/lib-httpd: bump required apache version to 2.2 | 09 February 2023, 22:40:47 UTC |
2c91b13 | Junio C Hamano | 09 February 2023, 22:40:46 UTC | Merge branch 'gc/index-format-doc' Doc update. * gc/index-format-doc: docs: document zero bits in index "mode" | 09 February 2023, 22:40:46 UTC |
b2182a8 | Elijah Newren | 09 February 2023, 09:11:46 UTC | name-rev: fix names by dropping taggerdate workaround Commit 7550424804 ("name-rev: include taggerdate in considering the best name", 2016-04-22) introduced the idea of using taggerdate in the criteria for selecting the best name. At the time, a certain commit in linux.git -- namely, aed06b9cfcab -- was being named by name-rev as v4.6-rc1~9^2~792 which, while correct, was very suboptimal. Some investigation found that tweaking the MERGE_TRAVERSAL_WEIGHT to lower it could give alternate answers such as v3.13-rc7~9^2~14^2~42 or v3.13~5^2~4^2~2^2~1^2~42 A manual solution involving looking at tagger dates came up with v3.13-rc1~65^2^2~42 which is much nicer. That workaround was then implemented in name-rev. Unfortunately, the taggerdate heuristic is causing bugs. I was pointed to a case in a private repository where name-rev reports a name of the form v2022.10.02~86 when users expected to see one of the form v2022.10.01~2 (I've modified the names and numbers a bit from the real testcase.) As you can probably guess, v2022.10.01 was created after v2022.10.02 (by a few hours), even though it pointed to an older commit. While the condition is unusual even in the repository in question, it is not the only problematic set of tags in that repository. The taggerdate logic is causing problems. Further, it turns out that this taggerdate heuristic isn't even helping anymore. Due to the fix to naming logic in 3656f84278 ("name-rev: prefer shorter names over following merges", 2021-12-04), we get improved names without the taggerdate heuristic. For the original commit of interest in linux.git, a modern git without the taggerdate heuristic still provides the same optimal answer of interest, namely: v3.13-rc1~65^2^2~42 So, the taggerdate is no longer providing benefit, and it is causing problems. Simply get rid of it. However, note that "taggerdate" as a variable is used to store things besides a taggerdate these days. Ever since commit ef1e74065c ("name-rev: favor describing with tags and use committer date to tiebreak", 2017-03-29), this has been used to store committer dates and there it is used as a fallback tiebreaker (as opposed to a primary criteria overriding effective distance calculations). We do not want to remove that fallback tiebreaker, so not all instances of "taggerdate" are removed in this change. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 09 February 2023, 17:01:36 UTC |
93d52ed | Andrei Rybak | 07 February 2023, 23:42:59 UTC | userdiff: support Java sealed classes A new kind of class was added in Java 17 -- sealed classes.[1] This feature includes several new keywords that may appear in a declaration of a class. New modifiers before name of the class: "sealed" and "non-sealed", and a clause after name of the class marked by keyword "permits". The current set of regular expressions in userdiff.c already allows the modifier "sealed" and the "permits" clause, but not the modifier "non-sealed", which is the first hyphenated keyword in Java.[2] Allow hyphen in the words that precede the name of type to match the "non-sealed" modifier. In new input file "java-sealed" for the test t4018-diff-funcname.sh, use a Java code comment for the marker "RIGHT". This workaround is needed, because the name of the sealed class appears on the line of code that has the "ChangeMe" marker. [1] Detailed description in "JEP 409: Sealed Classes" https://openjdk.org/jeps/409 [2] "JEP draft: Keyword Management for the Java Language" https://openjdk.org/jeps/8223002 Signed-off-by: Andrei Rybak <rybak.a.v@gmail.com> Reviewed-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:57:13 UTC |
575e6fc | Andrei Rybak | 07 February 2023, 23:42:58 UTC | userdiff: support Java record types A new kind of class was added in Java 16 -- records.[1] The syntax of records is similar to regular classes with one important distinction: the name of the record class is followed by a mandatory list of components. The list is enclosed in parentheses, it may be empty, and it may immediately follow the name of the class or type parameters, if any, with or without separating whitespace. For example: public record Example(int i, String s) { } public record WithTypeParameters<A, B>(A a, B b, String s) { } record SpaceBeforeComponents (String comp1, int comp2) { } Support records in the builtin userdiff pattern for Java. Add "record" to the alternatives of keywords for kinds of class. Allowing matching various possibilities for the type parameters and/or list of the components of a record has already been covered by the preceding patch. [1] detailed description is available in "JEP 395: Records" https://openjdk.org/jeps/395 Signed-off-by: Andrei Rybak <rybak.a.v@gmail.com> Reviewed-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:57:11 UTC |
39226a8 | Andrei Rybak | 07 February 2023, 23:42:57 UTC | userdiff: support Java type parameters A class or interface in Java can have type parameters following the name in the declared type, surrounded by angle brackets (paired less than and greater than signs).[2] The type parameters -- `A` and `B` in the examples -- may follow the class name immediately: public class ParameterizedClass<A, B> { } or may be separated by whitespace: public class SpaceBeforeTypeParameters <A, B> { } A part of the builtin userdiff pattern for Java matches declarations of classes, enums, and interfaces. The regular expression requires at least one whitespace character after the name of the declared type. This disallows matching for opening angle bracket of type parameters immediately after the name of the type. Mandatory whitespace after the name of the type also disallows using the pattern in repositories with a fairly common code style that puts braces for the body of a class on separate lines: class WithLineBreakBeforeOpeningBrace { } Support matching Java code in more diverse code styles and declarations of classes and interfaces with type parameters immediately following the name of the type in the builtin userdiff pattern for Java. Do so by just matching anything until the end of the line after the keywords for the kind of type being declared. [1] Since Java 5 released in 2004. [2] Detailed description is available in the Java Language Specification, sections "Type Variables" and "Parameterized Types": https://docs.oracle.com/javase/specs/jls/se17/html/jls-4.html#jls-4.4 Signed-off-by: Andrei Rybak <rybak.a.v@gmail.com> Reviewed-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:56:57 UTC |
0414b38 | Emily Shaffer | 08 February 2023, 19:21:15 UTC | hook: support a --to-stdin=<path> option Expose the "path_to_stdin" API added in the preceding commit in the "git hook run" command. For now we won't be using this command interface outside of the tests, but exposing this functionality makes it easier to test the hook API. The plan is to use this to extend the "sendemail-validate" hook[1][2]. 1. https://lore.kernel.org/git/ad152e25-4061-9955-d3e6-a2c8b1bd24e7@amd.com 2. https://lore.kernel.org/git/20230120012459.920932-1-michael.strawbridge@amd.com Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:50:03 UTC |
96af564 | Emily Shaffer | 08 February 2023, 19:21:14 UTC | sequencer: use the new hook API for the simpler "post-rewrite" call Change the invocation of the "post-rewrite" hook added in 795160457db (sequencer (rebase -i): run the post-rewrite hook, if needed, 2017-01-02) to use the new hook API. This leaves the more complex "post-rewrite" invocation added in a87a6f3c98e (commit: move post-rewrite code to libgit, 2017-11-17) here in sequencer.c unconverted. Here we can pass in a file's via the "in" file descriptor, in that case we don't have a file, but will need to write_in_full() to an "in" provide by the API. Support for that will be added to the hook API in the future, but we're not there yet. Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:50:03 UTC |
917e080 | Emily Shaffer | 08 February 2023, 19:21:13 UTC | hook API: support passing stdin to hooks, convert am's 'post-rewrite' Convert the invocation of the 'post-rewrite' hook run by 'git am' to use the hook.h library. To do this we need to add a "path_to_stdin" member to "struct run_hooks_opt". In our API this is supported by asking for a file path, rather than by reading stdin. Reading directly from stdin would involve caching the entire stdin (to memory or to disk) once the hook API is made to support "jobs" larger than 1, along with support for executing N hooks at a time (i.e. the upcoming config-based hooks). Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:50:03 UTC |
5402673 | Emily Shaffer | 08 February 2023, 19:21:12 UTC | run-command: allow stdin for run_processes_parallel While it makes sense not to inherit stdin from the parent process to avoid deadlocking, it's not necessary to completely ban stdin to children. An informed user should be able to configure stdin safely. By setting `some_child.process.no_stdin=1` before calling `get_next_task()` we provide a reasonable default behavior but enable users to set up stdin streaming for themselves during the callback. `some_child.process.stdout_to_stderr`, however, remains unmodifiable by `get_next_task()` - the rest of the run_processes_parallel() API depends on child output in stderr. Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:50:03 UTC |
5123e6e | Ævar Arnfjörð Bjarmason | 08 February 2023, 19:21:11 UTC | run-command.c: remove dead assignment in while-loop Remove code that's been unused since it was added in c553c72eed6 (run-command: add an asynchronous parallel child processor, 2015-12-15). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 20:50:03 UTC |
7876265 | Junio C Hamano | 08 February 2023, 17:14:51 UTC | The fourteenth batch Signed-off-by: Junio C Hamano <gitster@pobox.com> | 08 February 2023, 17:14:51 UTC |
3fe6612 | Junio C Hamano | 08 February 2023, 17:14:42 UTC | Merge branch 'ds/scalar-ignore-cron-error' Allow "scalar" to warn but continue when its periodic maintenance feature cannot be enabled. * ds/scalar-ignore-cron-error: scalar: only warn when background maintenance fails t921*: test scalar behavior starting maintenance t: allow 'scalar' in test_must_fail | 08 February 2023, 17:14:42 UTC |
c6dea59 | Junio C Hamano | 08 February 2023, 17:14:42 UTC | Merge branch 'mh/doc-credential-cache-only-in-core' Documentation clarification. * mh/doc-credential-cache-only-in-core: Documentation: clarify that cache forgets credentials if the system restarts | 08 February 2023, 17:14:42 UTC |
ad7fd3c | Junio C Hamano | 08 February 2023, 17:14:42 UTC | Merge branch 'gm/request-pull-with-non-pgp-signed-tags' Adjust "git request-pull" to strip embedded signature from signed tags to notice non-PGP signatures. * gm/request-pull-with-non-pgp-signed-tags: request-pull: filter out SSH/X.509 tag signatures | 08 February 2023, 17:14:42 UTC |
d390e08 | Calvin Wan | 07 February 2023, 18:12:27 UTC | Documentation: clarify multiple pushurls vs urls In a remote with multiple configured URLs, `git remote -v` shows the correct url that fetch uses. However, `git config remote.<remote>.url` returns the last defined url instead. This discrepancy can cause confusion for users with a remote defined as such, since any url defined after the first essentially acts as a pushurl. Add documentation to clarify how fetch interacts with multiple urls and how push interacts with multiple pushurls and urls. Add test affirming interaction between fetch and multiple urls. Signed-off-by: Calvin Wan <calvinwan@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2023, 19:02:27 UTC |
3eb1e1c | Ævar Arnfjörð Bjarmason | 07 February 2023, 16:15:42 UTC | config.h: remove unused git_configset_add_parameters() This function was removed in ecec57b3c97 (config: respect includes in protected config, 2022-10-13), but its prototype was left here. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Reviewed-by: Glen Choo <chooglen@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2023, 18:50:27 UTC |
0c10ed1 | Ævar Arnfjörð Bjarmason | 06 February 2023, 19:08:13 UTC | commit.c: free() revs.commit in get_fork_point() Fix a memory leak that's been with us since d96855ff517 (merge-base: teach "--fork-point" mode, 2013-10-23). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2023, 00:03:53 UTC |
a535040 | Ævar Arnfjörð Bjarmason | 06 February 2023, 19:08:12 UTC | builtin/rebase.c: free() "options.strategy_opts" When the "strategy_opts" member was added in ba1905a5fef (builtin rebase: add support for custom merge strategies, 2018-09-04) the corresponding free() for it at the end of cmd_rebase() wasn't added, let's do so. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2023, 00:03:53 UTC |
a5792e9 | Ævar Arnfjörð Bjarmason | 06 February 2023, 19:08:11 UTC | sequencer.c: always free() the "msgbuf" in do_pick_commit() In [1] the strbuf_release(&msgbuf) was moved into this do_pick_commit(), but didn't take into account the case of [2], where we'd return before the strbuf_release(&msgbuf). Then when the "fixup" support was added in [3] this leak got worse, as in this error case we added another place where we'd "return" before reaching the strbuf_release(). This changes the behavior so that we'll call update_abort_safety_file() in these cases where we'd previously "return", but as noted in [4] "update_abort_safety_file() is a no-op when rebasing and you're changing code that is only run when rebasing.". Here "no-op" refers to the early return in update_abort_safety_file() if git_path_seq_dir() doesn't exist. 1. 452202c74b8 (sequencer: stop releasing the strbuf in write_message(), 2016-10-21) 2. f241ff0d0a9 (prepare the builtins for a libified merge_recursive(), 2016-07-26) 3. 6e98de72c03 (sequencer (rebase -i): add support for the 'fixup' and 'squash' commands, 2017-01-02) 4. https://lore.kernel.org/git/bcace50b-a4c3-c468-94a3-4fe0c62b3671@dunelm.org.uk/ Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2023, 00:03:52 UTC |
94ad545 | Ævar Arnfjörð Bjarmason | 06 February 2023, 19:08:10 UTC | builtin/rebase.c: fix "options.onto_name" leak Similar to the existing "squash_onto_name" added in [1] we need to free() the xstrdup()'d "options.onto.name" added for "--keep-base" in [2].. 1. 9dba809a69a (builtin rebase: support --root, 2018-09-04) 2. 414d924beb4 (rebase: teach rebase --keep-base, 2019-08-27) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 February 2023, 00:03:52 UTC |