Browse Source

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>
maint
Simon Hausmann 18 years ago
parent
commit
c9b50e6307
  1. 18
      contrib/fast-import/git-p4
  2. 23
      contrib/fast-import/git-p4.txt

18
contrib/fast-import/git-p4

@ -167,13 +167,13 @@ class P4Sync(Command): @@ -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): @@ -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): @@ -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): @@ -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)

23
contrib/fast-import/git-p4.txt

@ -49,23 +49,19 @@ incremental import creates through the use of git-fast-import. @@ -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 @@ -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.


Loading…
Cancel
Save