Age | Commit message (Collapse) | Author |
|
"git reflog expire --single-worktree" has been broken for the past
20 months or so, which has been corrected.
* rs/reflog-expire-single-worktree-fix:
reflog: fix expire --single-worktree
|
|
Doc and help update.
* rs/fix-arghelp:
am, rebase: fix arghelp syntax of --empty
|
|
parse-options improvements for OPT_CMDMODE options.
* rs/parse-options-cmdmode:
am: simplify --show-current-patch handling
parse-options: make CMDMODE errors more precise
|
|
"cd sub && git grep -f patterns" tried to read "patterns" file at
the top level of the working tree; it has been corrected to read
"sub/patterns" instead.
* jc/grep-f-relative-to-cwd:
grep: -f <path> is relative to $cwd
|
|
Doc update.
* ar/submitting-patches-doc-update:
SubmittingPatches: call gitk's command "Copy commit reference"
|
|
While populating the `repository_format` structure may cause us to
allocate memory, we do not call `clear_repository_format()` in some
places and thus potentially leak memory. Fix this.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
The `upgrade_repository_format()` function has multiple exit paths,
which means that there is no common cleanup of acquired resources.
While this isn't much of a problem right now, we're about to fix a
memory leak that would require us to free the resource in every one of
those exit paths.
Refactor the code to have a common exit path so that the subsequent
memory leak fix becomes easier to implement.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
When registering shallow roots, we unset the list of parents of the
to-be-registered commit if it's already been parsed. This causes us to
leak memory though because we never free this list. Fix this.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
We're setting up the Git directory twice in the `test-tool bloom`
helper, once at the beginning of `cmd_bloom()` and once in the local
subcommand implementation `get_bloom_filter_for_commit()`. This can lead
to memory leaks as we'll overwrite variables of `the_repository` with
newly allocated data structures. On top of that it's simply unnecessary.
Fix this by only setting up the Git directory once.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
The perl script introduced by 86b008ee61 (t: add library for munging
chunk-format files, 2023-10-09) uses pack("Q") and unpack("Q") to read
and write 64-bit values ("quadwords" in perl parlance) from the on-disk
chunk files. However, some builds of perl may not support 64-bit
integers at all, and throw an exception here. While some 32-bit
platforms may still support 64-bit integers in perl (such as our linux32
CI environment), others reportedly don't (the NonStop 32-bit builds).
We can work around this by treating the 64-bit values as two 32-bit
values. We can't ever combine them into a single 64-bit value, but in
practice this is OK. These are representing file offsets, and our files
are much smaller than 4GB. So the upper half of the 64-bit value will
always be 0.
We can just introduce a few helper functions which perform the
translation and double-check our assumptions.
Reported-by: Randall S. Becker <randall.becker@nexbridge.ca>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
In April, GitHub announced that the `macos-13` pool is available:
https://github.blog/changelog/2023-04-24-github-actions-macos-13-is-now-available/.
It is only a matter of time until the `macos-12` pool is going away,
therefore we should switch now, without pressure of a looming deadline.
Since the `macos-13` runners no longer include Python2, we also drop
specifically testing with Python2 and switch uniformly to Python3, see
https://github.com/actions/runner-images/blob/HEAD/images/macos/macos-13-Readme.md
for details about the software available on the `macos-13` pool's
runners.
Also, on macOS 13, Homebrew seems to install a `gcc@9` package that no
longer comes with a regular `unistd.h` (there seems only to be a
`ssp/unistd.h`), and hence builds would fail with:
In file included from base85.c:1:
git-compat-util.h:223:10: fatal error: unistd.h: No such file or directory
223 | #include <unistd.h>
| ^~~~~~~~~~
compilation terminated.
The reason why we install GCC v9.x explicitly is historical, and back in
the days it was because it was the _newest_ version available via
Homebrew: 176441bfb58 (ci: build Git with GCC 9 in the 'osx-gcc' build
job, 2019-11-27).
To reinstate the spirit of that commit _and_ to fix that build failure,
let's switch to the now-newest GCC version: v13.x.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
In 41771fa435 (cache.h: remove dependence on hex.h; make other files
include it explicitly, 2023-02-24) we added this as part of a larger
mechanical refactor. But strvec doesn't actually depend on hex.h, so
remove it.
Signed-off-by: Linus Arver <linusa@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
They are equivalents and the former still exists, so as long as the
only change this commit makes are to rewrite test_i18ngrep to
test_grep, there won't be any new bug, even if there still are
callers of test_i18ngrep remaining in the tree, or when merged to
other topics that add new uses of test_i18ngrep.
This patch was produced more or less with
git grep -l -e 'test_i18ngrep ' 't/t[0-9][0-9][0-9][0-9]-*.sh' |
xargs perl -p -i -e 's/test_i18ngrep /test_grep /'
and a good way to sanity check the result yourself is to run the
above in a checkout of c4603c1c (test framework: further deprecate
test_i18ngrep, 2023-10-31) and compare the resulting working tree
contents with the result of applying this patch to the same commit.
You'll see that test_i18ngrep in a few t/lib-*.sh files corrected,
in addition to the manual reproduction.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Docfix.
* ms/doc-push-fix:
git-push doc: more visibility for -q option
|
|
Message fix.
* jc/commit-new-underscore-index-fix:
commit: do not use cryptic "new_index" in end-user facing messages
|
|
Typofix.
* wx/merge-ort-comment-typofix:
merge-ort.c: fix typo 'neeed' to 'needed'
|
|
Doc updates.
* ps/git-repack-doc-fixes:
doc/git-repack: don't mention nonexistent "--unpacked" option
doc/git-repack: fix syntax for `-g` shorthand option
|
|
Message updates.
* ni/die-message-fix-for-git-add:
builtin/add.c: clean up die() messages
|
|
Docfix.
* jc/am-doc-whitespace-action-fix:
am: align placeholder for --whitespace option with apply
|
|
Doc update.
* jc/update-list-references-to-lore:
doc: update list archive reference to use lore.kernel.org
|
|
Doc update.
* ps/rewritten-is-per-worktree-doc:
doc/git-worktree: mention "refs/rewritten" as per-worktree refs
|
|
"git cat-file" documentation updates.
* sn/cat-file-doc-update:
doc/cat-file: make synopsis and description less confusing
|
|
Leakfix.
* jk/decoration-and-other-leak-fixes:
daemon: free listen_addr before returning
revision: clear decoration structs during release_revisions()
decorate: add clear_decoration() function
|
|
Code clean-up.
* rs/parse-opt-ctx-cleanup:
parse-options: drop unused parse_opt_ctx_t member
|
|
The parameters to generate an error message have been corrected.
* ob/am-msgfix:
am: fix error message in parse_opt_show_current_patch()
|
|
Doc update.
* hy/doc-show-is-like-log-not-diff-tree:
show doc: redirect user to git log manual instead of git diff-tree
|
|
Typofix.
* ch/clean-docfix:
git-clean doc: fix "without do cleaning" typo
|
|
Typofix.
* eg/config-type-path-docfix:
git-config: fix misworded --type=path explanation
|
|
Code clean-up.
* ob/t3404-typofix:
t3404-rebase-interactive.sh: fix typos in title of a rewording test
|
|
Code clean-up.
* ob/sequencer-remove-dead-code:
sequencer: remove unreachable exit condition in pick_commits()
|
|
Simplify use of parse-options API a bit.
* rs/name-rev-use-opt-hidden-bool:
name-rev: use OPT_HIDDEN_BOOL for --peel-tag
|
|
Simplify use of parse-options API a bit.
* rs/grep-parseopt-simplify:
grep: use OPT_INTEGER_F for --max-depth
|
|
Update an error message (which would probably never been seen).
* ob/sequencer-reword-error-message:
sequencer: fix error message on failure to copy SQUASH_MSG
|
|
Fix-up for a topic that already has graduated.
* bc/more-git-var:
var: avoid a segmentation fault when `HOME` is unset
|
|
CI update.
* jk/ci-retire-allow-ref:
ci: deprecate ci/config/allow-ref script
ci: allow branch selection through "vars"
|
|
Code clean-up.
* ws/git-svn-retire-faketerm:
git-svn: drop FakeTerm hack
|
|
Test clean-up.
* ch/t6300-verify-commit-test-cleanup:
t/t6300: drop magic filtering
t/lib-gpg: forcibly run a trustdb update
|
|
Typofix in an error message.
* jc/mv-d-to-d-error-message-fix:
mv: fix error for moving directory to another
|
|
Typofix in an error message.
* ja/worktree-orphan:
builtin/worktree.c: fix typo in "forgot fetch" msg
|
|
Test style fix.
* ob/t9001-indent-fix:
t9001: fix indentation in test_no_confirm()
|
|
Code clean-up to please clang-18.
* jk/function-pointer-mismatches-fix:
hashmap: use expected signatures for comparison functions
|
|
Error message generation fix.
* ds/upload-pack-error-sequence-fix:
upload-pack: fix exit code when denying fetch of unreachable object ID
upload-pack: fix race condition in error messages
|
|
Doc update.
* ws/git-push-doc-grammofix:
git-push.txt: fix grammar
|
|
UBSAN options were not propagated through the test framework to git
run via the httpd, unlike ASAN options, which has been corrected.
* jk/test-pass-ubsan-options-to-http-test:
test-lib: set UBSAN_OPTIONS to match ASan
|
|
maint-2.42
An error message given by "git send-email" when given a malformed
address did not give correct information, which has been corrected.
* tb/send-email-extract-valid-address-error-message-fix:
git-send-email.perl: avoid printing undef when validating addresses
|
|
HTTP Header redaction code has been adjusted for a newer version of
cURL library that shows its traces differently from earlier
versions.
* jk/redact-h2h3-headers-fix:
http: update curl http/2 info matching for curl 8.3.0
http: factor out matching of curl http/2 trace lines
|
|
Clarify how "alias.foo = : git cmd ; aliased-command-string" should
be spelled with necessary whitespaces around punctuation marks to
work.
* pb/completion-aliases-doc:
completion: improve doc for complex aliases
|
|
"git diff --cached" codepath did not fill the necessary stat
information for a file when fsmonitor knows it is clean and ended
up behaving as if it is not clean, which has been corrected.
* js/diff-cached-fsmonitor-fix:
diff-lib: fix check_removed when fsmonitor is on
|