Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
A new attempt at fixing the child-fast-import-process-not-finished race condition
author
Simon Hausmann
<simon@lst.de>
Sun, 15 Apr 2007 07:34:15 +0000
(09:34 +0200)
committer
Simon Hausmann
<simon@lst.de>
Sun, 15 Apr 2007 07:34:15 +0000
(09:34 +0200)
in the clone command
Signed-off-by: Simon Hausmann <simon@lst.de>
contrib/fast-import/git-p4
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
5e80dd4
)
diff --git
a/contrib/fast-import/git-p4
b/contrib/fast-import/git-p4
index 9c9852c75f6eda6cd5d1aca29dbc1aa435069e39..b77cb20e3feafa7b58fdd76fa4f6416ae1acabab 100755
(executable)
--- a/
contrib/fast-import/git-p4
+++ b/
contrib/fast-import/git-p4
@@
-907,7
+907,10
@@
class P4Sync(Command):
self.tz = "%+03d%02d" % (- time.timezone / 3600, ((- time.timezone % 3600) / 60))
self.tz = "%+03d%02d" % (- time.timezone / 3600, ((- time.timezone % 3600) / 60))
- self.gitOutput, self.gitStream, self.gitError = popen2.popen3("git fast-import")
+ importProcess = popen2.Popen3("git fast-import", capturestderr = True)
+ self.gitOutput = importProcess.fromchild
+ self.gitStream = importProcess.tochild
+ self.gitError = importProcess.childerr
if len(self.revision) > 0:
print "Doing initial import of %s from revision %s" % (self.globalPrefix, self.revision)
if len(self.revision) > 0:
print "Doing initial import of %s from revision %s" % (self.globalPrefix, self.revision)
@@
-1028,6
+1031,7
@@
class P4Sync(Command):
self.gitStream.close()
self.gitOutput.close()
self.gitError.close()
self.gitStream.close()
self.gitOutput.close()
self.gitError.close()
+ importProcess.wait()
os.popen("git repo-config p4.depotpath %s" % self.globalPrefix).read()
if len(self.initialTag) > 0:
os.popen("git repo-config p4.depotpath %s" % self.globalPrefix).read()
if len(self.initialTag) > 0:
@@
-1096,7
+1100,6
@@
class P4Clone(P4Sync):
system("git init")
if not P4Sync.run(self, [depotPath]):
return False
system("git init")
if not P4Sync.run(self, [depotPath]):
return False
- os.wait()
if self.branch != "master":
system("git branch master p4")
system("git checkout -f")
if self.branch != "master":
system("git branch master p4")
system("git checkout -f")