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("--origin", dest="origin"),
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("--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.firstTime = True
self.reset = False
self.interactive = True
@ -181,7 +181,6 @@ class P4Sync(Command):
self.substFile = ""
self.firstTime = True
self.origin = ""
self.master = ""
self.applyAsPatch = True
self.logSubstitutions = {}
@ -326,6 +325,16 @@ class P4Sync(Command):
# make gitdir absolute so we can cd out into the perforce checkout
gitdir = os.path.abspath(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 = ""
if gitBranchExists("p4"):
[depotPath, dummy] = extractDepotPathAndChangeFromGitLog(extractLogMessageFromGitCommit("p4"))
@ -362,11 +371,6 @@ class P4Sync(Command):
tokens = line[:-1].split("=")
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.configFile = gitdir + "/p4-git-sync.cfg"
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
==========
git-p4 has EXPERIMENTAL support for submitting changes from a git repository
back to a Perforce depot. This requires a Perforce checkout separate to your
git repository. All it should take is calling
git-p4 has support for submitting changes from a git repository back to the
Perforce depot. This requires a Perforce checkout separate to your git
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
in your git repository. This will attempt to locate the perforce checkout
corresponding to your imported depot path. By default the changes between your
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.
in your git repository. If you want to submit changes in a specific branch that
is not your current git branch you can also pass that as an argument:
After some preparations (which might take a while) git-p4 enters a loop where
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 really want to submit the change or not.
git-p4 submit mytopicbranch
You can override the reference branch with the --origin=mysourcebranch option.
If a submit fails you may have to "p4 resolve" and submit manually. You can
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")
from Perforce using git-p4's sync command.