| Age | Commit message (Collapse) | Author |
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* la/trailer-cleanups:
trailer: fix comment/cut-line regression with opts->no_divider
|
|
Commit 97e9d0b78a (trailer: find the end of the log message, 2023-10-20)
combined two code paths for finding the end of the log message. For the
"no_divider" case, we used to use find_trailer_end(), and that has now
been rolled into find_end_of_log_message(). But there's a regression;
that function returns early when no_divider is set, returning the whole
string.
That's not how find_trailer_end() behaved. Although it did skip the
"---" processing (which is what "no_divider" is meant to do), we should
still respect ignored_log_message_bytes(), which covers things like
comments, "commit -v" cut lines, and so on.
The bug is actually in the interpret-trailers command, but the obvious
way to experience it is by running "commit -v" with a "--trailer"
option. The new trailer will be added at the end of the verbose diff,
rather than before it (and consequently will be ignored entirely, since
everything after the diff's intro scissors line is thrown away).
I've added two tests here: one for interpret-trailers directly, which
shows the bug via the parsing routines, and one for "commit -v".
The fix itself is pretty simple: instead of returning early, no_divider
just skips the "---" handling but still calls ignored_log_message_bytes().
Reported-by: Philippe Blain <levraiphilippeblain@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Doc update.
* pb/template-for-single-commit-pr:
.github/PULL_REQUEST_TEMPLATE.md: add a note about single-commit PRs
|
|
Doc update.
* jc/bisect-doc:
bisect: document command line arguments for "bisect start"
bisect: document "terms" subcommand more fully
|
|
Update to the code that writes to pipes on Windows.
* js/win32-retry-pipe-write-on-enospc:
win32: special-case `ENOSPC` when writing to a pipe
|
|
Code clean-up.
* tb/pack-bitmap-drop-unused-struct-member:
pack-bitmap: drop unused `reuse_objects`
|
|
"git p4" update to squelch warnings from Python.
* jt/p4-spell-re-with-raw-string:
git-p4: use raw string literals for regular expressions
|
|
Docfix.
* jc/coc-whitespace-fix:
CoC: whitespace fix
|
|
Tracing fix.
* sd/negotiate-trace-fix:
push: region_leave trace for negotiate_using_fetch
|
|
Doc update.
* jc/majordomo-to-subspace:
Docs: majordomo@vger.kernel.org has been decomissioned
|
|
Doc update.
* nb/rebase-x-shell-docfix:
rebase: fix documentation about used shell in -x
|
|
Comment fix.
* la/strvec-comment-fix:
strvec: use correct member name in comments
|
|
Docfix.
* ne/doc-filter-blob-limit-fix:
rev-list-options: fix off-by-one in '--filter=blob:limit=<n>' explainer
|
|
Recent conversion to allow more than 0/1 in GIT_FLUSH broke the
mechanism by flipping what yes/no means by mistake, which has been
corrected.
* cp/git-flush-is-an-env-bool:
write-or-die: fix the polarity of GIT_FLUSH environment variable
|
|
"git stash" sometimes was silent even when it failed due to
unwritable index file, which has been corrected.
* ps/report-failure-from-git-stash:
builtin/stash: report failure to write to index
|
|
A failed "git tag -s" did not necessarily result in an error
depending on the crypto backend, which has been corrected.
* jc/sign-buffer-failure-propagation-fix:
ssh signing: signal an error with a negative return value
tag: fix sign_buffer() call to create a signed tag
|
|
Rewrite //-comments to /* comments */ in files whose comments
prevalently use the latter.
* jc/comment-style-fixes:
reftable/pq_test: comment style fix
merge-ort.c: comment style fix
builtin/worktree: comment style fixes
|
|
"git diff --no-index file1 file2" segfaulted while invoking the
external diff driver, which has been corrected.
* jk/diff-external-with-no-index:
diff: handle NULL meta-info when spawning external diff
|
|
"git diff --no-rename A B" did not disable rename detection but did
not trigger an error from the command line parser.
* rs/parse-options-with-keep-unknown-abbrev-fix:
parse-options: simplify positivation handling
parse-options: fully disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
|
|
Rename detection logic ignored the final line of a file if it is an
incomplete line.
* en/diffcore-delta-final-line-fix:
diffcore-delta: avoid ignoring final 'line' of file
|
|
Update to a new feature recently added, "git show-ref --exists".
* tc/show-ref-exists-fix:
builtin/show-ref: treat directory as non-existing in --exists
|
|
When GIT_FLUSH is set to 1, true, on, yes, then we should disable
skip_stdout_flush, but the conversion somehow did the opposite.
With the understanding of the original motivation behind "skip" in
06f59e9f (Don't fflush(stdout) when it's not helpful, 2007-06-29),
we can sympathize with the current naming (we wanted to avoid
useless flushing of stdout by default, with an escape hatch to
always flush), but it is still not a good excuse.
Retire the "skip_stdout_flush" variable and replace it with "flush_stdout"
that tells if we do or do not want to run fflush().
Reported-by: Xiaoguang WANG <wxiaoguang@gmail.com>
Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
* pb/imap-send-wo-curl-build-fix:
imap-send: add missing "strbuf.h" include under NO_CURL
|
|
Signed-off-by: Junio C Hamano <gitster@pobox.com>
|
|
Doc update.
* ib/rebase-reschedule-doc:
rebase: clarify --reschedule-failed-exec default
|
|
Fix false positive reported by leak sanitizer.
* jk/index-pack-lsan-false-positive-fix:
index-pack: spawn threads atomically
|
|
In-code comment fix.
* cp/sideband-array-index-comment-fix:
sideband.c: remove redundant 'NEEDSWORK' tag
|
|
Docfix.
* ms/rebase-insnformat-doc-fix:
Documentation: fix statement about rebase.instructionFormat
|
|
Sideband demultiplexer fixes.
* jx/sideband-chomp-newline-fix:
pkt-line: do not chomp newlines for sideband messages
pkt-line: memorize sideband fragment in reader
test-pkt-line: add option parser for unpack-sideband
|
|
Test update.
* jk/t1006-cat-file-objectsize-disk:
t1006: prefer shell loop to awk for packed object sizes
t1006: add tests for %(objectsize:disk)
|
|
Doc update.
* js/contributor-docs-updates:
SubmittingPatches: hyphenate non-ASCII
SubmittingPatches: clarify GitHub artifact format
SubmittingPatches: clarify GitHub visual
SubmittingPatches: provide tag naming advice
SubmittingPatches: update extra tags list
SubmittingPatches: discourage new trailers
SubmittingPatches: drop ref to "What's in git.git"
CodingGuidelines: write punctuation marks
CodingGuidelines: move period inside parentheses
|
|
Code simplification.
* rs/fast-import-simplify-mempool-allocation:
fast-import: use mem_pool_calloc()
|
|
Remove unused header "#include".
* en/header-cleanup:
treewide: remove unnecessary includes in source files
treewide: add direct includes currently only pulled in transitively
trace2/tr2_tls.h: remove unnecessary include
submodule-config.h: remove unnecessary include
pkt-line.h: remove unnecessary include
line-log.h: remove unnecessary include
http.h: remove unnecessary include
fsmonitor--daemon.h: remove unnecessary includes
blame.h: remove unnecessary includes
archive.h: remove unnecessary include
treewide: remove unnecessary includes in source files
treewide: remove unnecessary includes from header files
|
|
Doc update.
* ml/doc-merge-updates:
Documentation/git-merge.txt: use backticks for command wrapping
Documentation/git-merge.txt: fix reference to synopsis
|
|
Doc updates to clarify what an "unborn branch" means.
* jc/orphan-unborn:
orphan/unborn: fix use of 'orphan' in end-user facing messages
orphan/unborn: add to the glossary and use them consistently
|
|
Code clean-up.
* la/trailer-cleanups:
trailer: use offsets for trailer_start/trailer_end
trailer: find the end of the log message
commit: ignore_non_trailer computes number of bytes to ignore
|
|
Code clean-up.
* jc/retire-cas-opt-name-constant:
remote.h: retire CAS_OPT_NAME
|
|
Code clean-up.
* rs/rebase-use-strvec-pushf:
rebase: use strvec_pushf() for format-patch revisions
|
|
Test fix.
* rs/t6300-compressed-size-fix:
t6300: avoid hard-coding object sizes
|
|
Error message fix in the test framework.
* sp/test-i18ngrep:
test-lib-functions.sh: fix test_grep fail message wording
|
|
Doc update.
* jc/doc-misspelt-refs-fix:
doc: format.notes specify a ref under refs/notes/ hierarchy
|
|
Doc updates.
* jc/doc-most-refs-are-not-that-special:
docs: MERGE_AUTOSTASH is not that special
docs: AUTO_MERGE is not that special
refs.h: HEAD is not that special
git-bisect.txt: BISECT_HEAD is not that special
git.txt: HEAD is not that special
|
|
Doc update.
* es/add-doc-list-short-form-of-all-in-synopsis:
git-add.txt: add missing short option -A to synopsis
|
|
Test framework update.
* ps/chainlint-self-check-update:
tests: adjust whitespace in chainlint expectations
|
|
Bunch of small fix-ups to the reftable code.
* ps/reftable-fixes:
reftable/block: reuse buffer to compute record keys
reftable/block: introduce macro to initialize `struct block_iter`
reftable/merged: reuse buffer to compute record keys
reftable/stack: fix use of unseeded randomness
reftable/stack: fix stale lock when dying
reftable/stack: reuse buffers when reloading stack
reftable/stack: perform auto-compaction with transactional interface
reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
reftable: handle interrupted writes
reftable: handle interrupted reads
reftable: wrap EXPECT macros in do/while
|
|
Code clean-up around use of configuration variables.
* jk/config-cleanup:
sequencer: simplify away extra git_config_string() call
gpg-interface: drop pointless config_error_nonbool() checks
push: drop confusing configset/callback redundancy
config: use git_config_string() for core.checkRoundTripEncoding
diff: give more detailed messages for bogus diff.* config
config: use config_error_nonbool() instead of custom messages
imap-send: don't use git_die_config() inside callback
git_xmerge_config(): prefer error() to die()
config: reject bogus values for core.checkstat
|
|
Clean-up code that handles combinations of incompatible options.
* rs/incompatible-options-messages:
worktree: simplify incompatibility message for --orphan and commit-ish
worktree: standardize incompatibility messages
clean: factorize incompatibility message
revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
repack: use die_for_incompatible_opt3() for -A/-k/--cruft
push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror
|
|
Doc update.
* mk/doc-gitfile-more:
doc: make the gitfile syntax easier to discover
|