optparse.make_option("--log-substitutions", dest="substFile"),
optparse.make_option("--noninteractive", action="store_false"),
optparse.make_option("--dry-run", action="store_true"),
- optparse.make_option("--apply-as-patch", action="store_true", dest="applyAsPatch")
]
self.description = "Submit changes from git to the perforce depot."
self.usage += " [name of git branch to submit into perforce depot]"
self.substFile = ""
self.firstTime = True
self.origin = ""
- self.applyAsPatch = True
self.logSubstitutions = {}
self.logSubstitutions["<enter description here>"] = "%log%"
self.config["commits"] = commits
- if not self.applyAsPatch:
- print "Creating temporary p4-sync branch from %s ..." % self.origin
- system("git checkout -f -b p4-sync %s" % self.origin)
-
def prepareLogMessage(self, template, message):
result = ""
else:
die("unknown modifier %s for %s" % (modifier, path))
- if self.applyAsPatch:
- system("git diff-tree -p --diff-filter=ACMRTUXB \"%s^\" \"%s\" | patch -p1" % (id, id))
- else:
- system("git diff-files --name-only -z | git update-index --remove -z --stdin")
- system("git cherry-pick --no-commit \"%s\"" % id)
+ system("git diff-tree -p --diff-filter=ACMRTUXB \"%s^\" \"%s\" | patch -p1" % (id, id))
for f in filesToAdd:
system("p4 add %s" % f)
print "No changes found to apply between %s and current HEAD" % self.origin
else:
print "All changes applied!"
- if not self.applyAsPatch:
- print "Deleting temporary p4-sync branch and going back to %s" % self.master
- system("git checkout %s" % self.master)
- system("git branch -D p4-sync")
- print "Cleaning out your perforce checkout by doing p4 edit ... ; p4 revert ..."
- system("p4 edit ... >/dev/null")
- system("p4 revert ... >/dev/null")
response = raw_input("Do you want to sync from Perforce now using git-p4 rebase (y/n)? ")
if response == "y" or response == "yes":
os.chdir(oldWorkingDirectory)