[PATCH] git-p4: chdir now properly sets PWD environment variable in msysGit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



P4 on Windows expects the PWD environment variable to be set to the
current working dir, but os.chdir in python doesn't do that by default

Signed-off-by: Robert Blum <rob.blum@xxxxxxxxx>
---

Pushing it out to the list since I'm not entirely sure who the git-p4 owner
even is. CC'ed likely suspects for ownership ;)

 contrib/fast-import/git-p4 |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 6ae0429..b4d0c65 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -16,6 +16,13 @@ from sets import Set;

 verbose = False

+if os.name == 'nt':
+    def os_chdir(dir):
+        os.environ['PWD']=dir
+        os.chdir(dir)
+else:
+    os_chdir = os.chdir
+
 def die(msg):
     if verbose:
         raise Exception(msg)
@@ -712,7 +719,7 @@ class P4Submit(Command):
         print "Perforce checkout for depot path %s located at %s" % (self.depot
Path, self.clientPath)
         self.oldWorkingDirectory = os.getcwd()

-        os.chdir(self.clientPath)
+        os_chdir(self.clientPath)
         print "Syncronizing p4 checkout..."
         system("p4 sync ...")

@@ -732,7 +739,7 @@ class P4Submit(Command):

         if len(commits) == 0:
             print "All changes applied!"
-            os.chdir(self.oldWorkingDirectory)
+            os_chdir(self.oldWorkingDirectory)

             sync = P4Sync()
             sync.run([])
@@ -1670,7 +1677,7 @@ class P4Clone(P4Sync):
         print "Importing from %s into %s" % (', '.join(depotPaths), self.cloneD
estination)
         if not os.path.exists(self.cloneDestination):
             os.makedirs(self.cloneDestination)
-        os.chdir(self.cloneDestination)
+        os_chdir(self.cloneDestination)
         system("git init")
         self.gitdir = os.getcwd() + "/.git"
         if not P4Sync.run(self, depotPaths):
@@ -1782,7 +1789,7 @@ def main():
                 if os.path.exists(cmd.gitdir):
                     cdup = read_pipe("git rev-parse --show-cdup").strip()
                     if len(cdup) > 0:
-                        os.chdir(cdup);
+                        os_chdir(cdup);

         if not isValidGitDir(cmd.gitdir):
             if isValidGitDir(cmd.gitdir + "/.git"):
--
1.5.5.1015.g9d258
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux