aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Blum <rob.blum@gmail.com>2008-08-01 12:50:03 -0700
committerJunio C Hamano <gitster@pobox.com>2008-08-16 23:37:04 -0700
commit053fd0c1c3da20474c4ff175c56ea4c1d6eeda11 (patch)
treef1989e7b990f2414dab66373b6a6f6485938bf9f
parent9b752a6e31f93f2925856a0c0607c2ffc2a93375 (diff)
downloadgit-053fd0c1c3da20474c4ff175c56ea4c1d6eeda11.tar.gz
git-053fd0c1c3da20474c4ff175c56ea4c1d6eeda11.tar.xz
git-p4: chdir now properly sets PWD environment variable in msysGit
P4 on Windows expects the PWD environment variable to be set to the current working dir, but os.chdir in python doesn't do so. Signed-off-by: Robert Blum <rob.blum@gmail.com> Acked-by: Simon Hausmann <simon@lst.de> Acked-by: Han-Wen Nienhuys <hanwen@xs4all.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xcontrib/fast-import/git-p413
1 files changed, 9 insertions, 4 deletions
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 6ae0429c2..3f2303dcf 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -16,6 +16,11 @@ from sets import Set;
verbose = False
+def chdir(dir):
+ if os.name == 'nt':
+ os.environ['PWD']=dir
+ os.chdir(dir)
+
def die(msg):
if verbose:
raise Exception(msg)
@@ -712,7 +717,7 @@ class P4Submit(Command):
print "Perforce checkout for depot path %s located at %s" % (self.depotPath, self.clientPath)
self.oldWorkingDirectory = os.getcwd()
- os.chdir(self.clientPath)
+ chdir(self.clientPath)
print "Syncronizing p4 checkout..."
system("p4 sync ...")
@@ -732,7 +737,7 @@ class P4Submit(Command):
if len(commits) == 0:
print "All changes applied!"
- os.chdir(self.oldWorkingDirectory)
+ chdir(self.oldWorkingDirectory)
sync = P4Sync()
sync.run([])
@@ -1670,7 +1675,7 @@ class P4Clone(P4Sync):
print "Importing from %s into %s" % (', '.join(depotPaths), self.cloneDestination)
if not os.path.exists(self.cloneDestination):
os.makedirs(self.cloneDestination)
- os.chdir(self.cloneDestination)
+ chdir(self.cloneDestination)
system("git init")
self.gitdir = os.getcwd() + "/.git"
if not P4Sync.run(self, depotPaths):
@@ -1782,7 +1787,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);
+ chdir(cdup);
if not isValidGitDir(cmd.gitdir):
if isValidGitDir(cmd.gitdir + "/.git"):