Thread (79 messages) 79 messages, 6 authors, 2019-11-11
STALE2447d
Revisions (2)
  1. v3 current
  2. v4 [diff vs current]

[PATCH v3 3/8] t3900: demonstrate git-rebase problem with multi encoding

From: Doan Tran Cong Danh <hidden>
Date: 2019-11-06 09:20:40
Subsystem: the rest · Maintainer: Linus Torvalds

We're using fixup!/squash! <subject> to mark if current commit will be
used to be fixed up or squashed to a previous commit.

However, if we're changing i18n.commitencoding after making the
original commit but before making the fixing up, we couldn't find the
original commit to do the fixup/squash.

Add a test to demonstrate that problem.

Helped-by: Jeff King [off-list ref]
Signed-off-by: Doan Tran Cong Danh <redacted>
---
 t/t3900-i18n-commit.sh | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
diff --git a/t/t3900-i18n-commit.sh b/t/t3900-i18n-commit.sh
index b92ff95977..85cac6e2dc 100755
--- a/t/t3900-i18n-commit.sh
+++ b/t/t3900-i18n-commit.sh
@@ -204,4 +204,34 @@ test_commit_autosquash_flags eucJP fixup
 
 test_commit_autosquash_flags ISO-2022-JP squash
 
+test_commit_autosquash_multi_encoding () {
+	flag=$1
+	old=$2
+	new=$3
+	msg=$4
+	test_expect_failure "commit --$flag into $old from $new" '
+		git checkout -b '$flag-$old-$new' C0 &&
+		git config i18n.commitencoding '$old' &&
+		echo '$old' >>F &&
+		git commit -a -F "$TEST_DIRECTORY/t3900/'$msg'" &&
+		test_tick &&
+		echo intermediate stuff >>G &&
+		git add G &&
+		git commit -a -m "intermediate commit" &&
+		test_tick &&
+		git config i18n.commitencoding '$new' &&
+		echo '$new-$flag' >>F &&
+		git commit -a --'$flag' HEAD^ &&
+		git config --unset-all i18n.commitencoding &&
+		git rebase --autosquash -i HEAD^^^ &&
+		git rev-list HEAD >actual &&
+		test_line_count = 3 actual
+	'
+}
+
+test_commit_autosquash_multi_encoding fixup UTF-8 ISO-8859-1 1-UTF-8.txt
+test_commit_autosquash_multi_encoding squash ISO-8859-1 UTF-8 ISO8859-1.txt
+test_commit_autosquash_multi_encoding squash eucJP ISO-2022-JP eucJP.txt
+test_commit_autosquash_multi_encoding fixup ISO-2022-JP UTF-8 ISO-2022-JP.txt
+
 test_done
-- 
2.24.0.4.g6a51fdd29c
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help