From 8ace74c00e87cbb16d7303761ff4f6b91505ee20 Mon Sep 17 00:00:00 2001 From: Vitor Antunes Date: Fri, 19 Aug 2011 00:44:04 +0100 Subject: [PATCH] git-p4: Allow filtering Perforce branches by user 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 Acked-by: Pete Wyckoff Signed-off-by: Junio C Hamano --- contrib/fast-import/git-p4 | 8 +++++++- contrib/fast-import/git-p4.txt | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4 index 72a5b6c183..6314c20ac1 100755 --- a/contrib/fast-import/git-p4 +++ b/contrib/fast-import/git-p4 @@ -1455,7 +1455,13 @@ class P4Sync(Command, P4UserMap): 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 2ffbccc9bd..97b66b9297 100644 --- a/contrib/fast-import/git-p4.txt +++ b/contrib/fast-import/git-p4.txt @@ -257,6 +257,12 @@ Perforce server. Will enable --find-copies-harder git argument. git config [--global] git-p4.detectCopies true +git-p4.branchUser + +Only use branch specifications defined by the selected username. + + git config [--global] git-p4.branchUser username + Implementation Details... ========================= -- 2.11.4.GIT