Merge branch 'jn/fast-import-subtree'
* jn/fast-import-subtree: Teach fast-import to import subtrees named by tree id
This commit is contained in:
@ -853,6 +853,60 @@ test_expect_success \
|
||||
'git fast-import <input &&
|
||||
test `git rev-parse N2^{tree}` = `git rev-parse N3^{tree}`'
|
||||
|
||||
test_expect_success \
|
||||
'N: copy directory by id' \
|
||||
'cat >expect <<-\EOF &&
|
||||
:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf
|
||||
:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf
|
||||
EOF
|
||||
subdir=$(git rev-parse refs/heads/branch^0:file2) &&
|
||||
cat >input <<-INPUT_END &&
|
||||
commit refs/heads/N4
|
||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
|
||||
data <<COMMIT
|
||||
copy by tree hash
|
||||
COMMIT
|
||||
|
||||
from refs/heads/branch^0
|
||||
M 040000 $subdir file3
|
||||
INPUT_END
|
||||
git fast-import <input &&
|
||||
git diff-tree -C --find-copies-harder -r N4^ N4 >actual &&
|
||||
compare_diff_raw expect actual'
|
||||
|
||||
test_expect_success \
|
||||
'N: modify copied tree' \
|
||||
'cat >expect <<-\EOF &&
|
||||
:100644 100644 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 fcf778cda181eaa1cbc9e9ce3a2e15ee9f9fe791 C100 newdir/interesting file3/file5
|
||||
:100755 100755 f1fb5da718392694d0076d677d6d0e364c79b0bc f1fb5da718392694d0076d677d6d0e364c79b0bc C100 file2/newf file3/newf
|
||||
:100644 100644 7123f7f44e39be127c5eb701e5968176ee9d78b1 7123f7f44e39be127c5eb701e5968176ee9d78b1 C100 file2/oldf file3/oldf
|
||||
EOF
|
||||
subdir=$(git rev-parse refs/heads/branch^0:file2) &&
|
||||
cat >input <<-INPUT_END &&
|
||||
commit refs/heads/N5
|
||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
|
||||
data <<COMMIT
|
||||
copy by tree hash
|
||||
COMMIT
|
||||
|
||||
from refs/heads/branch^0
|
||||
M 040000 $subdir file3
|
||||
|
||||
commit refs/heads/N5
|
||||
committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
|
||||
data <<COMMIT
|
||||
modify directory copy
|
||||
COMMIT
|
||||
|
||||
M 644 inline file3/file5
|
||||
data <<EOF
|
||||
$file5_data
|
||||
EOF
|
||||
INPUT_END
|
||||
git fast-import <input &&
|
||||
git diff-tree -C --find-copies-harder -r N5^^ N5 >actual &&
|
||||
compare_diff_raw expect actual'
|
||||
|
||||
###
|
||||
### series O
|
||||
###
|
||||
|
Reference in New Issue
Block a user