diff options
author | Stephen Boyd <bebarino@gmail.com> | 2009-05-23 11:53:10 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-23 15:45:52 -0700 |
commit | aae94ffbc138181777a942ef18daf52606df833d (patch) | |
tree | de0b15a5bd3ce12e4bc8523d7635601363934c33 /t/t7500-commit.sh | |
parent | 213195185c8aa09d6192b85a3f78bf46f19f51a4 (diff) | |
download | git-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-x | t/t7500-commit.sh | 10 |
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 |