55 add: ensure details are added to .gitsubtree 56 push: check for a SHA1 update line 57 pull: add a file on one subtree, push it to a branch, then pull into another subtree containing the same branch and confirm the files match 58 add: ensure stale .gitsubtree entry is replaced Signed-off-by: Paul Campbell <pcampbell@xxxxxxxxxxx> --- contrib/subtree/t/t7900-subtree.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/contrib/subtree/t/t7900-subtree.sh b/contrib/subtree/t/t7900-subtree.sh index bc2eeb0..5ae4584 100755 --- a/contrib/subtree/t/t7900-subtree.sh +++ b/contrib/subtree/t/t7900-subtree.sh @@ -505,4 +505,38 @@ test_expect_success 'verify one file change per commit' ' )) ' +# return to mainline +cd ../.. + +# .gitsubtree +# 55 +test_expect_success 'added repository appears in .gitsubtree' ' + git subtree add --prefix=copy0 sub1 && + grep "^copy0 \. sub1$" .gitsubtree +' + +# 56 +test_expect_success 'change in subtree is pushed okay' ' + cd copy0 && create new_file && git commit -m"Added new_file" && + cd .. && git subtree push --prefix=copy0 2>&1 | \ + grep -E "^ [0-9a-f]{7}\.\.[0-9a-f]{7} [0-9a-f]{40} -> sub1$" +' + +# 57 +test_expect_success 'pull into subtree okay' ' + git subtree add --prefix=copy1 sub1 && + git subtree add --prefix=copy2 sub1 && + cd copy1 && create new_file_in_copy1 && git commit -m"Added new_file_in_copy1" && + cd .. && git subtree push --prefix=copy1 && + git subtree pull --prefix=copy2 | grep "^ create mode 100644 copy2/new_file_in_copy1$" +' + +# 58 +test_expect_success 'replace outdated entry in .gitsubtree' ' + echo "copy3 . sub2" >> .gitsubtree && + git subtree add --prefix=copy3 sub1 && + (grep "^copy3 . sub2$" .gitsubtree && die || true) && + grep "^copy3 . sub1$" .gitsubtree +' + test_done -- 1.8.1.3.566.gaa39828 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html