Code

git-p4: document and test clone --branch
authorPete Wyckoff <pw@padd.com>
Sun, 25 Dec 2011 02:07:34 +0000 (21:07 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Dec 2011 18:19:30 +0000 (10:19 -0800)
Clone with --branch will not checkout HEAD, unless the branch
happens to be called the default refs/remotes/p4/master.  The
--branch option is most useful with sync; give an example of
that.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-p4.txt
t/t9806-git-p4-options.sh

index befb21704a8f49fda0a8d8794b542d4325c32e8d..9305e099874b259d3aa3ebfd6c7f2a47b73948fc 100644 (file)
@@ -178,7 +178,15 @@ subsequent 'sync' operations.
 --branch <branch>::
        Import changes into given branch.  If the branch starts with
        'refs/', it will be used as is, otherwise the path 'refs/heads/'
-       will be prepended.  The default branch is 'master'.
+       will be prepended.  The default branch is 'master'.  If used
+       with an initial clone, no HEAD will be checked out.
++
+This example imports a new remote "p4/proj2" into an existing
+git repository:
+----
+    $ git init
+    $ git p4 sync --branch=refs/remotes/p4/proj2 //depot/proj2
+----
 
 --detect-branches::
        Use the branch detection algorithm to find new paths in p4.  It is
index 8044fb035e166706fc91650e72a0a9e394da4b9e..7e2e45af17af061767b9218b93d8a4f475a93fe2 100755 (executable)
@@ -27,6 +27,17 @@ test_expect_success 'clone no --git-dir' '
        test_must_fail "$GITP4" clone --git-dir=xx //depot
 '
 
+test_expect_success 'clone --branch' '
+       "$GITP4" clone --branch=refs/remotes/p4/sb --dest="$git" //depot &&
+       test_when_finished cleanup_git &&
+       (
+               cd "$git" &&
+               git ls-files >files &&
+               test_line_count = 0 files &&
+               test_path_is_file .git/refs/remotes/p4/sb
+       )
+'
+
 test_expect_success 'kill p4d' '
        kill_p4d
 '