git-p4: ensure submit clientPath exists before chdir
authorGary Gibbons <ggibbons@perforce.com>
Fri, 9 Dec 2011 23:48:14 +0000 (18:48 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 12 Dec 2011 05:12:55 +0000 (21:12 -0800)
Submitting patches back to p4 requires a p4 "client".  This
is a mapping from server depot paths into a local directory.
The directory need not exist or be populated with files; only
the mapping on the server is required.  When there is no
directory, make git-p4 automatically create it.

[ reword description --pw ]

Signed-off-by: Gary Gibbons <ggibbons@perforce.com>
Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/fast-import/git-p4

index 7fd8bf031e1eb10f6dda2342f32c86454ef7efb3..122b7c28640deb56bd2f8df99c960d415fab64ac 100755 (executable)
@@ -1116,6 +1116,10 @@ class P4Submit(Command, P4UserMap):
         print "Perforce checkout for depot path %s located at %s" % (self.depotPath, self.clientPath)
         self.oldWorkingDirectory = os.getcwd()
 
+        # ensure the clientPath exists
+        if not os.path.exists(self.clientPath):
+            os.makedirs(self.clientPath)
+
         chdir(self.clientPath)
         print "Synchronizing p4 checkout..."
         p4_sync("...")