diff options
-rw-r--r-- | Documentation/git-p4.txt | 4 | ||||
-rwxr-xr-x | t/t9806-git-p4-options.sh | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt index 9305e09987..9930829139 100644 --- a/Documentation/git-p4.txt +++ b/Documentation/git-p4.txt @@ -211,7 +211,9 @@ git repository: By default, p4 branches are stored in 'refs/remotes/p4/', where they will be treated as remote-tracking branches by linkgit:git-branch[1] and other commands. This option instead - puts p4 branches in 'refs/heads/p4/'. + puts p4 branches in 'refs/heads/p4/'. Note that future + sync operations must specify '--import-local' as well so that + they can find the p4 branches in refs/heads. --max-changes <n>:: Limit the number of imported changes to 'n'. Useful to diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh index 7a1dba6e17..67703267be 100755 --- a/t/t9806-git-p4-options.sh +++ b/t/t9806-git-p4-options.sh @@ -61,6 +61,28 @@ test_expect_success 'clone --changesfile, @all' ' test_must_fail "$GITP4" clone --changesfile="$cf" --dest="$git" //depot@all ' +# imports both master and p4/master in refs/heads +# requires --import-local on sync to find p4 refs/heads +# does not update master on sync, just p4/master +test_expect_success 'clone/sync --import-local' ' + "$GITP4" clone --import-local --dest="$git" //depot@1,2 && + test_when_finished cleanup_git && + ( + cd "$git" && + git log --oneline refs/heads/master >lines && + test_line_count = 2 lines && + git log --oneline refs/heads/p4/master >lines && + test_line_count = 2 lines && + test_must_fail "$GITP4" sync && + + "$GITP4" sync --import-local && + git log --oneline refs/heads/master >lines && + test_line_count = 2 lines && + git log --oneline refs/heads/p4/master >lines && + test_line_count = 3 lines + ) +' + test_expect_success 'kill p4d' ' kill_p4d ' |