[PATCH] t/t7001-mv.sh: Propose ability to use git-mv on conflicting entries
- From
Petr Baudis <pasky@suse.cz>
- Date
- Jul 27, 2008, 13:47 UTC
- Message-ID
- <20080727134704.27534.86520.stgit@localhost>
- In-Reply-To
- <20080727134142.GA10151@machine.or.cz>
Currently, git-mv will declare "not under source control" on an attempt to move a conflicted index entry. This patch adds an expect_failure testcase for this case, since this is an artificial restriction. (However, the scenario is not critical enough for the author to fix right now.)
Signed-off-by: Petr Baudis <pasky@suse.cz> ---
I don't really know if it is ok to make "feature requests" like this by adding failing testcases...
t/t7001-mv.sh | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh index 7e47931..241e9a2 100755 --- a/t/t7001-mv.sh +++ b/t/t7001-mv.sh @@ -173,6 +173,33 @@ test_expect_success 'git mv should not change sha1 of moved cache entry' ' rm -f dirty dirty2 +cat >multistage <<EOT +100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 1 staged +100755 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 2 staged +100755 d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 3 staged +EOT + +# Rationale: I cannot git mv around a conflicted file. This is unnecessary +# restriction in case another part of conflict resolution requires me to +# move the file around. +test_expect_failure 'git mv should move all stages of cache entry' ' + + rm -fr .git && + git init && + # git mv requires object to exist in working tree (bug?) + touch staged && + git update-index --index-info <multistage && + git ls-files --stage >lsf_output && + test_cmp multistage lsf_output && + git mv staged staged-mv && + sed "s/staged/staged-mv/" <multistage >multistage-mv && + git ls-files --stage >lsf_output && + test_cmp multistage-mv lsf_output + +' + +rm -f multistage multistage-mv lsf_output staged + test_expect_failure 'git mv should overwrite symlink to a file' ' rm -fr .git &&