# [PATCH] git-p4: Fix bug in p4Where method.

2 messages from 2008-12-04 to 2008-12-05. Participants: Tor Arvid Lund, Junio C Hamano.
Thread: https://gitlist.dev/t/16593

## Tor Arvid Lund, 2008-12-04 13:37

Subject: [PATCH] git-p4: Fix bug in p4Where method.
Message-ID: <1228397853-15921-1-git-send-email-torarvid@gmail.com>
URL: https://gitlist.dev/e/1228397853-15921-1-git-send-email-torarvid%40gmail.com

```
When running:

p4 where //depot/SomePath/...

The result can in some situations look like:

//depot/SomePath/... //client/SomePath/... /home/user/p4root/SomePath/...
-//depot/SomePath/UndesiredSubdir/... //client/SomePath/UndesiredSubdir/... /home/user/p4root/SomePath/UndesiredSubdir/...

This depends on the users Client view. The current p4Where method will now
return /home/user/p4root/SomePath/UndesiredSubdir/... which is not what we
want. This patch loops through the results from "p4 where", and picks the one
where the depotFile exactly matches the given depotPath (//depot/SomePath/...
in this example).

Signed-off-by: Tor Arvid Lund <torarvid@gmail.com>
---
 contrib/fast-import/git-p4 |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 46136d4..7ade777 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -245,7 +245,15 @@ def p4Cmd(cmd):
 def p4Where(depotPath):
     if not depotPath.endswith("/"):
         depotPath += "/"
-    output = p4Cmd("where %s..." % depotPath)
+    depotPath = depotPath + "..."
+    outputList = p4CmdList("where %s" % depotPath)
+    output = None
+    for entry in outputList:
+        if entry["depotFile"] == depotPath:
+            output = entry
+            break
+    if output == None:
+        return ""
     if output["code"] == "error":
         return ""
     clientPath = ""
-- 
1.6.0.2.1172.ga5ed0

```

## Junio C Hamano, 2008-12-05 02:23

Subject: Re: [PATCH] git-p4: Fix bug in p4Where method.
Message-ID: <7voczr1hsk.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7voczr1hsk.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <1228397853-15921-1-git-send-email-torarvid@gmail.com>

```
Thanks.  Will apply to 'master' and will be in 1.6.1 final, unless some p4
users object (I do not use p4 myself, so that is the best I could do).

```
