diff options
| author | Junio C Hamano <gitster@pobox.com> | 2023-06-26 09:29:49 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-06-26 09:29:49 -0700 |
| commit | 8d5c5a05d7abd67f8b667c888fe17783e1d676a5 (patch) | |
| tree | db512ef532bac47e2861f8b6ff680c2d72b58a93 | |
| parent | Merge branch 'maint' (diff) | |
| parent | commit: pass --no-divider to interpret-trailers (diff) | |
| download | git-8d5c5a05d7abd67f8b667c888fe17783e1d676a5.tar.gz git-8d5c5a05d7abd67f8b667c888fe17783e1d676a5.zip | |
Merge branch 'jk/commit-use-no-divider-with-interpret-trailers'
When "git commit --trailer=..." invokes the interpret-trailers
machinery, it knows what it feeds to interpret-trailers is a full
log message without any patch, but failed to express that by
passing the "--no-divider" option, which has been corrected.
* jk/commit-use-no-divider-with-interpret-trailers:
commit: pass --no-divider to interpret-trailers
| -rw-r--r-- | builtin/commit.c | 3 | ||||
| -rwxr-xr-x | t/t7502-commit-porcelain.sh | 19 |
2 files changed, 21 insertions, 1 deletions
diff --git a/builtin/commit.c b/builtin/commit.c index 9ab57ea1aa..65a5c0e29d 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -1043,7 +1043,8 @@ static int prepare_to_commit(const char *index_file, const char *prefix, struct child_process run_trailer = CHILD_PROCESS_INIT; strvec_pushl(&run_trailer.args, "interpret-trailers", - "--in-place", git_path_commit_editmsg(), NULL); + "--in-place", "--no-divider", + git_path_commit_editmsg(), NULL); strvec_pushv(&run_trailer.args, trailer_args.v); run_trailer.git_cmd = 1; if (run_command(&run_trailer)) diff --git a/t/t7502-commit-porcelain.sh b/t/t7502-commit-porcelain.sh index 38a532d81c..b5bf7de7cd 100755 --- a/t/t7502-commit-porcelain.sh +++ b/t/t7502-commit-porcelain.sh @@ -466,6 +466,25 @@ test_expect_success 'commit --trailer with -c and command' ' test_cmp expected actual ' +test_expect_success 'commit --trailer not confused by --- separator' ' + cat >msg <<-\EOF && + subject + + body with dashes + --- + in it + EOF + git commit --allow-empty --trailer="my-trailer: value" -F msg && + { + cat msg && + echo && + echo "my-trailer: value" + } >expected && + git cat-file commit HEAD >commit.msg && + sed -e "1,/^\$/d" commit.msg >actual && + test_cmp expected actual +' + test_expect_success 'multiple -m' ' >negative && |
