git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCHv2 4/4] t7500: add tests of commit --squash

From
Pat Notz <patnotz@gmail.com>
Date
Sep 21, 2010, 20:25 UTC
Message-ID
<1285100703-49087-5-git-send-email-patnotz@gmail.com>
In-Reply-To
<1284687596-236-1-git-send-email-patnotz@gmail.com>
Signed-off-by: Pat Notz <patnotz@gmail.com>
---
 t/t7500-commit.sh |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index 7656ed4..a2406f4 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -238,10 +238,67 @@ test_expect_success 'commit --fixup provides correct one-line commit message' '
 	commit_msg_is "fixup! target message subject line"
 '
 
+test_expect_success 'commit --squash works with -F' '
+	commit_for_rebase_autosquash_setup &&
+	echo "log message from file" >msgfile
+	git commit --squash HEAD~1 -F msgfile  &&
+	commit_msg_is "squash! target message subject linelog message from file"
+'
+
+test_expect_success 'commit --squash works with -m' '
+	commit_for_rebase_autosquash_setup &&
+	git commit --squash HEAD~1 -m "foo bar\nbaz" &&
+	commit_msg_is "squash! target message subject linefoo bar\nbaz"
+'
+
+test_expect_success 'commit --squash works with -C' '
+	commit_for_rebase_autosquash_setup &&
+	git commit --squash HEAD~1 -C HEAD &&
+	commit_msg_is "squash! target message subject lineintermediate commit"
+'
+
+cat >editor <<\EOF
+#!/bin/sh
+sed -e "s/intermediate/edited/g" <"$1" >"$1-"
+mv "$1-" "$1"
+EOF
+chmod 755 editor
+
+test_expect_success 'commit --squash works with -c' '
+	commit_for_rebase_autosquash_setup &&
+	EDITOR=./editor git commit --squash HEAD~1 -c HEAD &&
+	commit_msg_is "squash! target message subject lineedited commit"
+'
+
+test_expect_success 'commit --squash works with -C for same commit' '
+	commit_for_rebase_autosquash_setup &&
+	git commit --squash HEAD -C HEAD &&
+	commit_msg_is "squash! intermediate commit"
+'
+
+test_expect_success 'commit --squash works with -c for same commit' '
+	commit_for_rebase_autosquash_setup &&
+	EDITOR=./editor git commit --squash HEAD -c HEAD &&
+	commit_msg_is "squash! edited commit"
+'
+
+cat >editor <<\EOF
+#!/bin/sh
+echo "additional body content" >>"$1"
+EOF
+chmod 755 editor
+
+test_expect_success 'commit --squash works with editor' '
+	commit_for_rebase_autosquash_setup &&
+	EDITOR=./editor git commit --squash HEAD~1 &&
+	commit_msg_is "squash! target message subject lineadditional body content"
+'
+
 test_expect_success 'invalid message options when using --fixup' '
 	echo changes >>foo &&
 	echo "message" >log &&
 	git add foo &&
+	test_must_fail git commit --fixup HEAD~1 --squash HEAD~2 &&
 	test_must_fail git commit --fixup HEAD~1 --C HEAD~2 &&
 	test_must_fail git commit --fixup HEAD~1 --c HEAD~2 &&
 	test_must_fail git commit --fixup HEAD~1 -m "cmdline message" &&
-- 
1.7.3
Previous: Pat NotzNext: Ævar Arnfjörð Bjarmason
Message 17 of 21 in “Add commit message options for rebase --autosquash”
  1. 0/2 Add commit message options for rebase --autosquashPat Notz, Sep 17, 2010
  2. 1/2 commit: add message options for rebase --autosquashPat Notz, Sep 17, 2010
  3. Stephen BoydSep 17, 2010
  4. Pat NotzSep 17, 2010
  5. Bryan DrewerySep 17, 2010
  6. Stephen BoydSep 17, 2010
  7. Bryan DrewerySep 17, 2010
  8. Junio C HamanoSep 17, 2010
  9. 2/2 t7500: add tests of commit --fixup/--squashPat Notz, Sep 17, 2010
  10. 0/4 Add commit message options for rebase --autosquashPat Notz, Sep 21, 2010
  11. 1/4 commit: --fixup option for use with rebase --autosquashPat Notz, Sep 21, 2010
  12. Sverre RabbelierSep 21, 2010
  13. Pat NotzSep 22, 2010
  14. 2/4 t7500: add tests of commit --fixupPat Notz, Sep 21, 2010
  15. 3/4 commit: --squash option for use with rebase --autosquashPat Notz, Sep 21, 2010
  16. Pat NotzSep 22, 2010
  17. 4/4 t7500: add tests of commit --squashPat Notz, Sep 21, 2010
  18. Ævar Arnfjörð BjarmasonSep 21, 2010
  19. Pat NotzSep 22, 2010
  20. Ævar Arnfjörð BjarmasonSep 22, 2010
  21. Pat NotzSep 22, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.