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>
This commit is contained in:
parent
9b752a6e31
commit
053fd0c1c3
@ -16,6 +16,11 @@ from sets import Set;
|
|||||||
|
|
||||||
verbose = False
|
verbose = False
|
||||||
|
|
||||||
|
def chdir(dir):
|
||||||
|
if os.name == 'nt':
|
||||||
|
os.environ['PWD']=dir
|
||||||
|
os.chdir(dir)
|
||||||
|
|
||||||
def die(msg):
|
def die(msg):
|
||||||
if verbose:
|
if verbose:
|
||||||
raise Exception(msg)
|
raise Exception(msg)
|
||||||
@ -712,7 +717,7 @@ class P4Submit(Command):
|
|||||||
print "Perforce checkout for depot path %s located at %s" % (self.depotPath, self.clientPath)
|
print "Perforce checkout for depot path %s located at %s" % (self.depotPath, self.clientPath)
|
||||||
self.oldWorkingDirectory = os.getcwd()
|
self.oldWorkingDirectory = os.getcwd()
|
||||||
|
|
||||||
os.chdir(self.clientPath)
|
chdir(self.clientPath)
|
||||||
print "Syncronizing p4 checkout..."
|
print "Syncronizing p4 checkout..."
|
||||||
system("p4 sync ...")
|
system("p4 sync ...")
|
||||||
|
|
||||||
@ -732,7 +737,7 @@ class P4Submit(Command):
|
|||||||
|
|
||||||
if len(commits) == 0:
|
if len(commits) == 0:
|
||||||
print "All changes applied!"
|
print "All changes applied!"
|
||||||
os.chdir(self.oldWorkingDirectory)
|
chdir(self.oldWorkingDirectory)
|
||||||
|
|
||||||
sync = P4Sync()
|
sync = P4Sync()
|
||||||
sync.run([])
|
sync.run([])
|
||||||
@ -1670,7 +1675,7 @@ class P4Clone(P4Sync):
|
|||||||
print "Importing from %s into %s" % (', '.join(depotPaths), self.cloneDestination)
|
print "Importing from %s into %s" % (', '.join(depotPaths), self.cloneDestination)
|
||||||
if not os.path.exists(self.cloneDestination):
|
if not os.path.exists(self.cloneDestination):
|
||||||
os.makedirs(self.cloneDestination)
|
os.makedirs(self.cloneDestination)
|
||||||
os.chdir(self.cloneDestination)
|
chdir(self.cloneDestination)
|
||||||
system("git init")
|
system("git init")
|
||||||
self.gitdir = os.getcwd() + "/.git"
|
self.gitdir = os.getcwd() + "/.git"
|
||||||
if not P4Sync.run(self, depotPaths):
|
if not P4Sync.run(self, depotPaths):
|
||||||
@ -1782,7 +1787,7 @@ def main():
|
|||||||
if os.path.exists(cmd.gitdir):
|
if os.path.exists(cmd.gitdir):
|
||||||
cdup = read_pipe("git rev-parse --show-cdup").strip()
|
cdup = read_pipe("git rev-parse --show-cdup").strip()
|
||||||
if len(cdup) > 0:
|
if len(cdup) > 0:
|
||||||
os.chdir(cdup);
|
chdir(cdup);
|
||||||
|
|
||||||
if not isValidGitDir(cmd.gitdir):
|
if not isValidGitDir(cmd.gitdir):
|
||||||
if isValidGitDir(cmd.gitdir + "/.git"):
|
if isValidGitDir(cmd.gitdir + "/.git"):
|
||||||
|
Loading…
Reference in New Issue
Block a user