Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Fixes for rollback, delete branches that did not exist at the specified p4 change
author
Simon Hausmann
<shausman@trolltech.com>
Mon, 21 May 2007 21:44:24 +0000
(23:44 +0200)
committer
Simon Hausmann
<shausman@trolltech.com>
Mon, 21 May 2007 21:44:24 +0000
(23:44 +0200)
Signed-off-by: Simon Hausmann <shausman@trolltech.com>
contrib/fast-import/git-p4
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
af8da89
)
diff --git
a/contrib/fast-import/git-p4
b/contrib/fast-import/git-p4
index 515f7a906ff1f83621a1b917a7ead4ff0fc1eeac..1457396abd8d006f82e4237acd2979ef49aab487 100755
(executable)
--- a/
contrib/fast-import/git-p4
+++ b/
contrib/fast-import/git-p4
@@
-136,8
+136,10
@@
class P4RollBack(Command):
def __init__(self):
Command.__init__(self)
self.options = [
def __init__(self):
Command.__init__(self)
self.options = [
+ optparse.make_option("--verbose", dest="verbose", action="store_true")
]
self.description = "A tool to debug the multi-branch import. Don't use :)"
]
self.description = "A tool to debug the multi-branch import. Don't use :)"
+ self.verbose = False
def run(self, args):
if len(args) != 1:
def run(self, args):
if len(args) != 1:
@@
-149,15
+151,22
@@
class P4RollBack(Command):
log = extractLogMessageFromGitCommit(ref)
depotPath, change = extractDepotPathAndChangeFromGitLog(log)
changed = False
log = extractLogMessageFromGitCommit(ref)
depotPath, change = extractDepotPathAndChangeFromGitLog(log)
changed = False
+
+ if len(p4Cmd("changes -m 1 %s...@%s" % (depotPath, maxChange))) == 0:
+ print "Branch %s did not exist at change %s, deleting." % (ref, maxChange)
+ system("git update-ref -d %s `git rev-parse %s`" % (ref, ref))
+ continue
+
while len(change) > 0 and int(change) > maxChange:
changed = True
while len(change) > 0 and int(change) > maxChange:
changed = True
- print "%s is at %s ; rewinding towards %s" % (ref, change, maxChange)
+ if self.verbose:
+ print "%s is at %s ; rewinding towards %s" % (ref, change, maxChange)
system("git update-ref %s \"%s^\"" % (ref, ref))
log = extractLogMessageFromGitCommit(ref)
depotPath, change = extractDepotPathAndChangeFromGitLog(log)
if changed:
system("git update-ref %s \"%s^\"" % (ref, ref))
log = extractLogMessageFromGitCommit(ref)
depotPath, change = extractDepotPathAndChangeFromGitLog(log)
if changed:
- print "%s
is at
%s" % (ref, change)
+ print "%s
rewound to
%s" % (ref, change)
return True
return True