mirror of
https://github.com/git/git.git
synced 2024-06-08 08:56:10 +02:00
git-p4: Cleanup; moved the code to import a list of p4 changes using fast-import into a separate member function of P4Sync.
Signed-off-by: Simon Hausmann <simon@lst.de>
This commit is contained in:
parent
4f6432d8cc
commit
e87f37ae42
|
@ -1118,6 +1118,76 @@ class P4Sync(Command):
|
||||||
self.keepRepoPath = (d.has_key('options')
|
self.keepRepoPath = (d.has_key('options')
|
||||||
and ('keepRepoPath' in d['options']))
|
and ('keepRepoPath' in d['options']))
|
||||||
|
|
||||||
|
def importChanges(self, changes):
|
||||||
|
cnt = 1
|
||||||
|
for change in changes:
|
||||||
|
description = p4Cmd("describe %s" % change)
|
||||||
|
self.updateOptionDict(description)
|
||||||
|
|
||||||
|
if not self.silent:
|
||||||
|
sys.stdout.write("\rImporting revision %s (%s%%)" % (change, cnt * 100 / len(changes)))
|
||||||
|
sys.stdout.flush()
|
||||||
|
cnt = cnt + 1
|
||||||
|
|
||||||
|
try:
|
||||||
|
if self.detectBranches:
|
||||||
|
branches = self.splitFilesIntoBranches(description)
|
||||||
|
for branch in branches.keys():
|
||||||
|
## HACK --hwn
|
||||||
|
branchPrefix = self.depotPaths[0] + branch + "/"
|
||||||
|
|
||||||
|
parent = ""
|
||||||
|
|
||||||
|
filesForCommit = branches[branch]
|
||||||
|
|
||||||
|
if self.verbose:
|
||||||
|
print "branch is %s" % branch
|
||||||
|
|
||||||
|
self.updatedBranches.add(branch)
|
||||||
|
|
||||||
|
if branch not in self.createdBranches:
|
||||||
|
self.createdBranches.add(branch)
|
||||||
|
parent = self.knownBranches[branch]
|
||||||
|
if parent == branch:
|
||||||
|
parent = ""
|
||||||
|
elif self.verbose:
|
||||||
|
print "parent determined through known branches: %s" % parent
|
||||||
|
|
||||||
|
# main branch? use master
|
||||||
|
if branch == "main":
|
||||||
|
branch = "master"
|
||||||
|
else:
|
||||||
|
|
||||||
|
## FIXME
|
||||||
|
branch = self.projectName + branch
|
||||||
|
|
||||||
|
if parent == "main":
|
||||||
|
parent = "master"
|
||||||
|
elif len(parent) > 0:
|
||||||
|
## FIXME
|
||||||
|
parent = self.projectName + parent
|
||||||
|
|
||||||
|
branch = self.refPrefix + branch
|
||||||
|
if len(parent) > 0:
|
||||||
|
parent = self.refPrefix + parent
|
||||||
|
|
||||||
|
if self.verbose:
|
||||||
|
print "looking for initial parent for %s; current parent is %s" % (branch, parent)
|
||||||
|
|
||||||
|
if len(parent) == 0 and branch in self.initialParents:
|
||||||
|
parent = self.initialParents[branch]
|
||||||
|
del self.initialParents[branch]
|
||||||
|
|
||||||
|
self.commit(description, filesForCommit, branch, [branchPrefix], parent)
|
||||||
|
else:
|
||||||
|
files = self.extractFilesFromCommit(description)
|
||||||
|
self.commit(description, files, self.branch, self.depotPaths,
|
||||||
|
self.initialParent)
|
||||||
|
self.initialParent = ""
|
||||||
|
except IOError:
|
||||||
|
print self.gitError.read()
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
def run(self, args):
|
def run(self, args):
|
||||||
self.depotPaths = []
|
self.depotPaths = []
|
||||||
self.changeRange = ""
|
self.changeRange = ""
|
||||||
|
@ -1350,74 +1420,7 @@ class P4Sync(Command):
|
||||||
|
|
||||||
self.updatedBranches = set()
|
self.updatedBranches = set()
|
||||||
|
|
||||||
cnt = 1
|
self.importChanges(changes)
|
||||||
for change in changes:
|
|
||||||
description = p4Cmd("describe %s" % change)
|
|
||||||
self.updateOptionDict(description)
|
|
||||||
|
|
||||||
if not self.silent:
|
|
||||||
sys.stdout.write("\rImporting revision %s (%s%%)" % (change, cnt * 100 / len(changes)))
|
|
||||||
sys.stdout.flush()
|
|
||||||
cnt = cnt + 1
|
|
||||||
|
|
||||||
try:
|
|
||||||
if self.detectBranches:
|
|
||||||
branches = self.splitFilesIntoBranches(description)
|
|
||||||
for branch in branches.keys():
|
|
||||||
## HACK --hwn
|
|
||||||
branchPrefix = self.depotPaths[0] + branch + "/"
|
|
||||||
|
|
||||||
parent = ""
|
|
||||||
|
|
||||||
filesForCommit = branches[branch]
|
|
||||||
|
|
||||||
if self.verbose:
|
|
||||||
print "branch is %s" % branch
|
|
||||||
|
|
||||||
self.updatedBranches.add(branch)
|
|
||||||
|
|
||||||
if branch not in self.createdBranches:
|
|
||||||
self.createdBranches.add(branch)
|
|
||||||
parent = self.knownBranches[branch]
|
|
||||||
if parent == branch:
|
|
||||||
parent = ""
|
|
||||||
elif self.verbose:
|
|
||||||
print "parent determined through known branches: %s" % parent
|
|
||||||
|
|
||||||
# main branch? use master
|
|
||||||
if branch == "main":
|
|
||||||
branch = "master"
|
|
||||||
else:
|
|
||||||
|
|
||||||
## FIXME
|
|
||||||
branch = self.projectName + branch
|
|
||||||
|
|
||||||
if parent == "main":
|
|
||||||
parent = "master"
|
|
||||||
elif len(parent) > 0:
|
|
||||||
## FIXME
|
|
||||||
parent = self.projectName + parent
|
|
||||||
|
|
||||||
branch = self.refPrefix + branch
|
|
||||||
if len(parent) > 0:
|
|
||||||
parent = self.refPrefix + parent
|
|
||||||
|
|
||||||
if self.verbose:
|
|
||||||
print "looking for initial parent for %s; current parent is %s" % (branch, parent)
|
|
||||||
|
|
||||||
if len(parent) == 0 and branch in self.initialParents:
|
|
||||||
parent = self.initialParents[branch]
|
|
||||||
del self.initialParents[branch]
|
|
||||||
|
|
||||||
self.commit(description, filesForCommit, branch, [branchPrefix], parent)
|
|
||||||
else:
|
|
||||||
files = self.extractFilesFromCommit(description)
|
|
||||||
self.commit(description, files, self.branch, self.depotPaths,
|
|
||||||
self.initialParent)
|
|
||||||
self.initialParent = ""
|
|
||||||
except IOError:
|
|
||||||
print self.gitError.read()
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
if not self.silent:
|
if not self.silent:
|
||||||
print ""
|
print ""
|
||||||
|
@ -1427,7 +1430,6 @@ class P4Sync(Command):
|
||||||
sys.stdout.write("%s " % b)
|
sys.stdout.write("%s " % b)
|
||||||
sys.stdout.write("\n")
|
sys.stdout.write("\n")
|
||||||
|
|
||||||
|
|
||||||
self.gitStream.close()
|
self.gitStream.close()
|
||||||
if importProcess.wait() != 0:
|
if importProcess.wait() != 0:
|
||||||
die("fast-import failed: %s" % self.gitError.read())
|
die("fast-import failed: %s" % self.gitError.read())
|
||||||
|
|
Loading…
Reference in New Issue