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

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

From
Pat Notz <patnotz@gmail.com>
Date
Sep 23, 2010, 17:14 UTC
Message-ID
<1285262076-20134-5-git-send-email-patnotz@gmail.com>
In-Reply-To
<1285262076-20134-1-git-send-email-patnotz@gmail.com>
Signed-off-by: Pat Notz <patnotz@gmail.com>
---
 t/t7500-commit.sh    |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 t/t7500/edit-content |    4 ++++
 2 files changed, 51 insertions(+), 0 deletions(-)
 create mode 100755 t/t7500/edit-content
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index db82264..2fd72be 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -238,10 +238,57 @@ 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"
+'
+
+test_expect_success 'commit --squash works with -c' '
+	commit_for_rebase_autosquash_setup &&
+	test_set_editor "$TEST_DIRECTORY"/t7500/edit-content &&
+	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 &&
+	test_set_editor "$TEST_DIRECTORY"/t7500/edit-content &&
+	git commit --squash HEAD -c HEAD &&
+	commit_msg_is "squash! edited commit"
+'
+
+test_expect_success 'commit --squash works with editor' '
+	commit_for_rebase_autosquash_setup &&
+	test_set_editor "$TEST_DIRECTORY"/t7500/add-content &&
+	git commit --squash HEAD~1 &&
+	commit_msg_is "squash! target message subject linecommit message"
+'
+
 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" &&
diff --git a/t/t7500/edit-content b/t/t7500/edit-content
new file mode 100755
index 0000000..08db9fd
--- /dev/null
+++ b/t/t7500/edit-content
@@ -0,0 +1,4 @@
+#!/bin/sh
+sed -e "s/intermediate/edited/g" <"$1" >"$1-"
+mv "$1-" "$1"
+exit 0
-- 
1.7.3
Previous: Junio C Hamano
Message 9 of 9 in “[PATCHv4 0/4] Add commit message options for rebase --autosquash”
  1. Pat NotzSep 23, 2010
  2. 1/4 commit: --fixup option for use with rebase --autosquashPat Notz, Sep 23, 2010
  3. Junio C HamanoSep 23, 2010
  4. Pat NotzSep 23, 2010
  5. 2/4 t7500: add tests of commit --fixupPat Notz, Sep 23, 2010
  6. Junio C HamanoSep 23, 2010
  7. 3/4 commit: --squash option for use with rebase --autosquashPat Notz, Sep 23, 2010
  8. Junio C HamanoSep 23, 2010
  9. 4/4 t7500: add tests of commit --squashPat Notz, Sep 23, 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.