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