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

[PATCH v2 2/3] git-p4: Allow filtering Perforce branches by user

From
Vitor Antunes <vitor.hda@gmail.com>
Date
Feb 26, 2011, 23:46 UTC
Message-ID
<1298763971-20556-3-git-send-email-vitor.hda@gmail.com>
In-Reply-To
<1298763971-20556-1-git-send-email-vitor.hda@gmail.com>

All branches in the Perforce server are downloaded to allow branch detection. If you have a centralized server on a remote location and there is a big number of branches this operation can take some time. This patch adds the configuration option git-p4.branchUser to allow filtering the branch list by user. Although this limits the branch maintenance in Perforce to be done by a single user, it might be an advantage when the number of branches being used in a specific depot is very small when compared with the branches available in the server.

Signed-off-by: Vitor Antunes <vitor.hda@gmail.com>
---
 contrib/fast-import/git-p4     |    8 +++++++-
 contrib/fast-import/git-p4.txt |    6 ++++++
 2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index fad3371..646afc1 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -1245,7 +1245,13 @@ class P4Sync(Command):
     def getBranchMapping(self):
         lostAndFoundBranches = set()
 
-        for info in p4CmdList("branches"):
+        user = gitConfig("git-p4.branchUser")
+        if len(user) > 0:
+            command = "branches -u %s" % user
+        else:
+            command = "branches"
+
+        for info in p4CmdList(command):
             details = p4Cmd("branch -o %s" % info["branch"])
             viewIdx = 0
             while details.has_key("View%s" % viewIdx):
diff --git a/contrib/fast-import/git-p4.txt b/contrib/fast-import/git-p4.txt
index e09da44..5b85081 100644
--- a/contrib/fast-import/git-p4.txt
+++ b/contrib/fast-import/git-p4.txt
@@ -196,6 +196,12 @@ able to find the relevant client.  This client spec will be used to
 both filter the files cloned by git and set the directory layout as
 specified in the client (this implies --keep-path style semantics).
 
+git-p4.branchUser
+
+Only use branch specifications defined by the selected username.
+
+  git config [--global] git-p4.branchUser username
+
 Implementation Details...
 =========================
 
-- 
1.7.4.1
Previous: Vitor AntunesNext: Vitor Antunes
Message 3 of 4 in “git-p4: Improve branch support”
  1. 0/3 git-p4: Improve branch supportVitor Antunes, Feb 26, 2011
  2. 1/3 git-p4: Correct branch base depot path detectionVitor Antunes, Feb 26, 2011
  3. 2/3 git-p4: Allow filtering Perforce branches by userVitor Antunes, Feb 26, 2011
  4. 3/3 git-p4: Allow branch definition with git configVitor Antunes, Feb 26, 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.