|
|
|
@ -874,6 +874,48 @@ test_expect_success \
@@ -874,6 +874,48 @@ test_expect_success \
|
|
|
|
|
git diff-tree -C --find-copies-harder -r N4^ N4 >actual && |
|
|
|
|
compare_diff_raw expect actual' |
|
|
|
|
|
|
|
|
|
test_expect_success \ |
|
|
|
|
'N: delete directory by copying' \ |
|
|
|
|
'cat >expect <<-\EOF && |
|
|
|
|
OBJID |
|
|
|
|
:100644 000000 OBJID OBJID D foo/bar/qux |
|
|
|
|
OBJID |
|
|
|
|
:000000 100644 OBJID OBJID A foo/bar/baz |
|
|
|
|
:000000 100644 OBJID OBJID A foo/bar/qux |
|
|
|
|
EOF |
|
|
|
|
empty_tree=$(git mktree </dev/null) && |
|
|
|
|
cat >input <<-INPUT_END && |
|
|
|
|
commit refs/heads/N-delete |
|
|
|
|
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE |
|
|
|
|
data <<COMMIT |
|
|
|
|
collect data to be deleted |
|
|
|
|
COMMIT |
|
|
|
|
|
|
|
|
|
deleteall |
|
|
|
|
M 100644 inline foo/bar/baz |
|
|
|
|
data <<DATA_END |
|
|
|
|
hello |
|
|
|
|
DATA_END |
|
|
|
|
C "foo/bar/baz" "foo/bar/qux" |
|
|
|
|
C "foo/bar/baz" "foo/bar/quux/1" |
|
|
|
|
C "foo/bar/baz" "foo/bar/quuux" |
|
|
|
|
M 040000 $empty_tree foo/bar/quux |
|
|
|
|
M 040000 $empty_tree foo/bar/quuux |
|
|
|
|
|
|
|
|
|
commit refs/heads/N-delete |
|
|
|
|
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE |
|
|
|
|
data <<COMMIT |
|
|
|
|
delete subdirectory |
|
|
|
|
COMMIT |
|
|
|
|
|
|
|
|
|
M 040000 $empty_tree foo/bar/qux |
|
|
|
|
INPUT_END |
|
|
|
|
git fast-import <input && |
|
|
|
|
git rev-list N-delete | |
|
|
|
|
git diff-tree -r --stdin --root --always | |
|
|
|
|
sed -e "s/$_x40/OBJID/g" >actual && |
|
|
|
|
test_cmp expect actual' |
|
|
|
|
|
|
|
|
|
test_expect_success \ |
|
|
|
|
'N: modify copied tree' \ |
|
|
|
|
'cat >expect <<-\EOF && |
|
|
|
|