1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-21 17:26:09 +02:00

Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into

simply git-p4 submit mytopicbranch.

Signed-off-by: Simon Hausmann <hausmann@kde.org>
This commit is contained in:
Simon Hausmann 2007-03-29 19:15:24 +02:00
parent a46668faf7
commit c9b50e6307
2 changed files with 20 additions and 21 deletions

View File

@ -167,13 +167,13 @@ class P4Sync(Command):
optparse.make_option("--continue", action="store_false", dest="firstTime"), optparse.make_option("--continue", action="store_false", dest="firstTime"),
optparse.make_option("--origin", dest="origin"), optparse.make_option("--origin", dest="origin"),
optparse.make_option("--reset", action="store_true", dest="reset"), optparse.make_option("--reset", action="store_true", dest="reset"),
optparse.make_option("--master", dest="master"),
optparse.make_option("--log-substitutions", dest="substFile"), optparse.make_option("--log-substitutions", dest="substFile"),
optparse.make_option("--noninteractive", action="store_false"), optparse.make_option("--noninteractive", action="store_false"),
optparse.make_option("--dry-run", action="store_true"), optparse.make_option("--dry-run", action="store_true"),
optparse.make_option("--apply-as-patch", action="store_true", dest="applyAsPatch") optparse.make_option("--apply-as-patch", action="store_true", dest="applyAsPatch")
] ]
self.description = "Submit changes from git to the perforce depot." self.description = "Submit changes from git to the perforce depot."
self.usage += " [name of git branch to submit into perforce depot]"
self.firstTime = True self.firstTime = True
self.reset = False self.reset = False
self.interactive = True self.interactive = True
@ -181,7 +181,6 @@ class P4Sync(Command):
self.substFile = "" self.substFile = ""
self.firstTime = True self.firstTime = True
self.origin = "" self.origin = ""
self.master = ""
self.applyAsPatch = True self.applyAsPatch = True
self.logSubstitutions = {} self.logSubstitutions = {}
@ -326,6 +325,16 @@ class P4Sync(Command):
# make gitdir absolute so we can cd out into the perforce checkout # make gitdir absolute so we can cd out into the perforce checkout
gitdir = os.path.abspath(gitdir) gitdir = os.path.abspath(gitdir)
os.environ["GIT_DIR"] = gitdir os.environ["GIT_DIR"] = gitdir
if len(args) == 0:
self.master = currentGitBranch()
if len(self.master) == 0 or not os.path.exists("%s/refs/heads/%s" % (gitdir, self.master)):
die("Detecting current git branch failed!")
elif len(args) == 1:
self.master = args[0]
else:
return False
depotPath = "" depotPath = ""
if gitBranchExists("p4"): if gitBranchExists("p4"):
[depotPath, dummy] = extractDepotPathAndChangeFromGitLog(extractLogMessageFromGitCommit("p4")) [depotPath, dummy] = extractDepotPathAndChangeFromGitLog(extractLogMessageFromGitCommit("p4"))
@ -362,11 +371,6 @@ class P4Sync(Command):
tokens = line[:-1].split("=") tokens = line[:-1].split("=")
self.logSubstitutions[tokens[0]] = tokens[1] self.logSubstitutions[tokens[0]] = tokens[1]
if len(self.master) == 0:
self.master = currentGitBranch()
if len(self.master) == 0 or not os.path.exists("%s/refs/heads/%s" % (gitdir, self.master)):
die("Detecting current git branch failed!")
self.check() self.check()
self.configFile = gitdir + "/p4-git-sync.cfg" self.configFile = gitdir + "/p4-git-sync.cfg"
self.config = shelve.open(self.configFile, writeback=True) self.config = shelve.open(self.configFile, writeback=True)

View File

@ -49,23 +49,19 @@ incremental import creates through the use of git-fast-import.
Submitting Submitting
========== ==========
git-p4 has EXPERIMENTAL support for submitting changes from a git repository git-p4 has support for submitting changes from a git repository back to the
back to a Perforce depot. This requires a Perforce checkout separate to your Perforce depot. This requires a Perforce checkout separate to your git
git repository. All it should take is calling repository. To submit all changes that are in the current git branch but not in
the "p4" branch (or "origin" if "p4" doesn't exist) simply call
git-p4 submit git-p4 submit
in your git repository. This will attempt to locate the perforce checkout in your git repository. If you want to submit changes in a specific branch that
corresponding to your imported depot path. By default the changes between your is not your current git branch you can also pass that as an argument:
current branch and the "p4" branch will be submitted. If there is no "p4"
branch the "origin" branch will be used as reference instead. You can override
this with the --origin=mysourcebranch option. The "origin" branch has to be the
branch populated with git-p4's sync operation.
After some preparations (which might take a while) git-p4 enters a loop where git-p4 submit mytopicbranch
it will first show a Perforce submit template and a diff of the change to
apply in the editor. After saving and exiting the editor you will be asked whether You can override the reference branch with the --origin=mysourcebranch option.
you really want to submit the change or not.
If a submit fails you may have to "p4 resolve" and submit manually. You can If a submit fails you may have to "p4 resolve" and submit manually. You can
continue importing the remaining changes with continue importing the remaining changes with
@ -74,4 +70,3 @@ continue importing the remaining changes with
After submitting you should sync your perforce import branch ("p4" or "origin") After submitting you should sync your perforce import branch ("p4" or "origin")
from Perforce using git-p4's sync command. from Perforce using git-p4's sync command.