git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 05/11] git-p4: document and test clone --branch

From
PWPete Wyckoff <pw@padd.com>
Date
Dec 25, 2011, 02:07 UTC
Message-ID
<1324778860-4821-6-git-send-email-pw@padd.com>
In-Reply-To
<1324778860-4821-1-git-send-email-pw@padd.com>

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>
---
 Documentation/git-p4.txt  |   10 +++++++++-
 t/t9806-git-p4-options.sh |   11 +++++++++++
 2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-p4.txt b/Documentation/git-p4.txt
index c15b3b7..a5d3d81 100644
--- a/Documentation/git-p4.txt
+++ b/Documentation/git-p4.txt
@@ -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
diff --git a/t/t9806-git-p4-options.sh b/t/t9806-git-p4-options.sh
index 8044fb0..7e2e45a 100755
--- a/t/t9806-git-p4-options.sh
+++ b/t/t9806-git-p4-options.sh
@@ -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
 '
-- 
1.7.8.534.g03ab.dirty
Previous: Pete WyckoffNext: Pete Wyckoff
Message 6 of 12 in “[PATCHv3 00/11] git-p4: asciidoc documentation and fixes”
  1. Pete WyckoffDec 25, 2011
  2. 01/11 rename git-p4 testsPete Wyckoff, Dec 25, 2011
  3. 02/11 git-p4: introduce asciidoc documentationPete Wyckoff, Dec 25, 2011
  4. 03/11 git-p4: clone does not use --git-dirPete Wyckoff, Dec 25, 2011
  5. 04/11 git-p4: test cloning with two dirs, clarify docPete Wyckoff, Dec 25, 2011
  6. 05/11 git-p4: document and test clone --branchPete Wyckoff, Dec 25, 2011
  7. 06/11 git-p4: honor --changesfile option and testPete Wyckoff, Dec 25, 2011
  8. 07/11 git-p4: document and test --import-localPete Wyckoff, Dec 25, 2011
  9. 08/11 git-p4: test --max-changesPete Wyckoff, Dec 25, 2011
  10. 09/11 git-p4: test --keep-pathPete Wyckoff, Dec 25, 2011
  11. 10/11 git-p4: test and document --use-client-specPete Wyckoff, Dec 25, 2011
  12. 11/11 git-p4: document and test submit optionsPete Wyckoff, Dec 25, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.