diff options
author | Vitor Antunes <vitor.hda@gmail.com> | 2011-08-19 00:44:06 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-08-22 21:09:05 -0700 |
commit | 7ca97f6ecc66f1d70ca126edd33b6a3065c914f7 (patch) | |
tree | 5c3e999b518eb7cc8982d5d238589c966d6a71bf /t | |
parent | git-p4: Allow branch definition with git config (diff) | |
download | tgif-7ca97f6ecc66f1d70ca126edd33b6a3065c914f7.tar.xz |
git-p4: Add simple test case for branch import
Create a basic branch structure in P4 and clone it with git-p4.
Also, make an update on P4 side and check if git-p4 imports it correctly.
The branch structure is created in such a way that git-p4 will fail to import
updates if patch "git-p4: Correct branch base depot path detection" is not
applied.
Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t9800-git-p4.sh | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/t/t9800-git-p4.sh b/t/t9800-git-p4.sh index 9d4d4bfd90..39e7f78e28 100755 --- a/t/t9800-git-p4.sh +++ b/t/t9800-git-p4.sh @@ -405,6 +405,70 @@ test_expect_success 'detect copies' ' p4 filelog //depot/file13 | grep -q "branch from //depot/file" ' +# Create a simple branch structure in P4 depot to check if it is correctly +# cloned. +test_expect_success 'add simple p4 branches' ' + cd "$cli" && + mkdir branch1 && + cd branch1 && + echo file1 >file1 && + echo file2 >file2 && + p4 add file* && + p4 submit -d "branch1" && + p4 integrate //depot/branch1/... //depot/branch2/... && + p4 submit -d "branch2" && + echo file3 >file3 && + p4 add file3 && + p4 submit -d "add file3 in branch1" && + p4 open file2 && + echo update >>file2 && + p4 submit -d "update file2 in branch1" && + p4 integrate //depot/branch1/... //depot/branch3/... && + p4 submit -d "branch3" && + cd "$TRASH_DIRECTORY" +' + +# Configure branches through git-config and clone them. +# All files are tested to make sure branches were cloned correctly. +# Finally, make an update to branch1 on P4 side to check if it is imported +# correctly by git-p4. +test_expect_success 'git-p4 clone simple branches' ' + git init "$git" && + cd "$git" && + git config git-p4.branchList branch1:branch2 && + git config --add git-p4.branchList branch1:branch3 && + cd "$TRASH_DIRECTORY" && + "$GITP4" clone --dest="$git" --detect-branches //depot@all && + cd "$git" && + git log --all --graph --decorate --stat && + git reset --hard p4/depot/branch1 && + test -f file1 && + test -f file2 && + test -f file3 && + grep -q update file2 && + git reset --hard p4/depot/branch2 && + test -f file1 && + test -f file2 && + test \! -z file3 && + ! grep -q update file2 && + git reset --hard p4/depot/branch3 && + test -f file1 && + test -f file2 && + test -f file3 && + grep -q update file2 && + cd "$cli" && + cd branch1 && + p4 edit file2 && + echo file2_ >> file2 && + p4 submit -d "update file2 in branch3" && + cd "$git" && + git reset --hard p4/depot/branch1 && + "$GITP4" rebase && + grep -q file2_ file2 && + cd "$TRASH_DIRECTORY" && + rm -rf "$git" && mkdir "$git" +' + test_expect_success 'shutdown' ' pid=`pgrep -f p4d` && test -n "$pid" && |