Make --with-origin the default for syncing.
Signed-off-by: Simon Hausmann <shausman@trolltech.com>
This commit is contained in:
parent
417a7a6fc8
commit
01265103fe
@ -118,6 +118,9 @@ def gitBranchExists(branch):
|
||||
proc = subprocess.Popen(["git", "rev-parse", branch], stderr=subprocess.PIPE, stdout=subprocess.PIPE);
|
||||
return proc.wait() == 0;
|
||||
|
||||
def gitConfig(key):
|
||||
return mypopen("git config %s" % key).read()[:-1]
|
||||
|
||||
class Command:
|
||||
def __init__(self):
|
||||
self.usage = "usage: %prog [options]"
|
||||
@ -514,7 +517,6 @@ class P4Sync(Command):
|
||||
optparse.make_option("--changesfile", dest="changesFile"),
|
||||
optparse.make_option("--silent", dest="silent", action="store_true"),
|
||||
optparse.make_option("--detect-labels", dest="detectLabels", action="store_true"),
|
||||
optparse.make_option("--with-origin", dest="syncWithOrigin", action="store_true"),
|
||||
optparse.make_option("--verbose", dest="verbose", action="store_true"),
|
||||
optparse.make_option("--import-local", dest="importIntoRemotes", action="store_false"),
|
||||
optparse.make_option("--max-changes", dest="maxChanges")
|
||||
@ -536,12 +538,15 @@ class P4Sync(Command):
|
||||
self.detectBranches = False
|
||||
self.detectLabels = False
|
||||
self.changesFile = ""
|
||||
self.syncWithOrigin = False
|
||||
self.syncWithOrigin = True
|
||||
self.verbose = False
|
||||
self.importIntoRemotes = True
|
||||
self.maxChanges = ""
|
||||
self.isWindows = (platform.system() == "Windows")
|
||||
|
||||
if gitConfig("git-p4.syncFromOrigin") == "false":
|
||||
self.syncWithOrigin = False
|
||||
|
||||
def p4File(self, depotPath):
|
||||
return os.popen("p4 print -q \"%s\"" % depotPath, "rb").read()
|
||||
|
||||
@ -847,7 +852,8 @@ class P4Sync(Command):
|
||||
|
||||
if self.syncWithOrigin:
|
||||
if gitBranchExists("origin"):
|
||||
print "Syncing with origin first as requested by calling git fetch origin"
|
||||
if not self.silent:
|
||||
print "Syncing with origin first by calling git fetch origin"
|
||||
system("git fetch origin")
|
||||
|
||||
createP4HeadRef = False;
|
||||
@ -1116,13 +1122,11 @@ class P4Sync(Command):
|
||||
class P4Rebase(Command):
|
||||
def __init__(self):
|
||||
Command.__init__(self)
|
||||
self.options = [ optparse.make_option("--with-origin", dest="syncWithOrigin", action="store_true") ]
|
||||
self.options = [ ]
|
||||
self.description = "Fetches the latest revision from perforce and rebases the current work (branch) against it"
|
||||
self.syncWithOrigin = False
|
||||
|
||||
def run(self, args):
|
||||
sync = P4Sync()
|
||||
sync.syncWithOrigin = self.syncWithOrigin
|
||||
sync.run([])
|
||||
print "Rebasing the current branch"
|
||||
oldHead = mypopen("git rev-parse HEAD").read()[:-1]
|
||||
|
@ -70,18 +70,10 @@ repository can be used to clone the working repository from and one would
|
||||
import from Perforce directly after cloning using git-p4. If the connection to
|
||||
the Perforce server is slow and the working repository hasn't been synced for a
|
||||
while it may be desirable to fetch changes from the origin git repository using
|
||||
the efficient git protocol. git-p4 supports this through
|
||||
the efficient git protocol. git-p4 supports this setup by calling "git fetch origin"
|
||||
by default if there is an origin branch. You can disable this using
|
||||
|
||||
git-p4 sync --with-origin
|
||||
|
||||
or
|
||||
|
||||
git-p4 rebase --with-origin
|
||||
|
||||
In that case "git fetch origin" is called and if it turns out that the origin
|
||||
branch is newer than the git "p4" import branch then the latter is updated from
|
||||
the former and the direct import from Perforce is resumed, which will result in
|
||||
fewer changes to be imported using the slower perforce connection.
|
||||
git config git-p4.syncFromOrigin false
|
||||
|
||||
Updating
|
||||
========
|
||||
|
Loading…
Reference in New Issue
Block a user