aboutsummaryrefslogtreecommitdiff
path: root/t/t7500-commit.sh
diff options
context:
space:
mode:
authorStephen Boyd <bebarino@gmail.com>2009-05-23 11:53:10 -0700
committerJunio C Hamano <gitster@pobox.com>2009-05-23 15:45:52 -0700
commitaae94ffbc138181777a942ef18daf52606df833d (patch)
treede0b15a5bd3ce12e4bc8523d7635601363934c33 /t/t7500-commit.sh
parent213195185c8aa09d6192b85a3f78bf46f19f51a4 (diff)
downloadgit-aae94ffbc138181777a942ef18daf52606df833d.tar.gz
git-aae94ffbc138181777a942ef18daf52606df833d.tar.xz
commit: -F overrides -t
Commit dbd0f5c7 (Files given on the command line are relative to $cwd, 2008-08-06) introduced parse_options_fix_filename() as a quick fix for filename arguments used in the parse options API. git-commit was still broken. This means git commit -F log -t temp in a subdirectory would make git think the log message should be taken from temp instead of log. This is because parse_options_fix_filename() calls prefix_filename() which uses a single static char buffer to do its work. Making two calls with two char pointers causes the pointers to alias. To prevent aliasing, we duplicate the string returned by parse_options_fix_filename(). Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7500-commit.sh')
-rwxr-xr-xt/t7500-commit.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index 5998baf27..8eec0fa9b 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -183,4 +183,14 @@ test_expect_success 'commit message from stdin' '
commit_msg_is "Log with foo word"
'
+test_expect_success 'commit -F overrides -t' '
+ (
+ cd subdir &&
+ echo "-F log" > f.log &&
+ echo "-t template" > t.template &&
+ git commit --allow-empty -F f.log -t t.template
+ ) &&
+ commit_msg_is "-F log"
+'
+
test_done