summaryrefslogtreecommitdiff
path: root/contrib/fast-import/git-p4
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/fast-import/git-p4')
-rwxr-xr-xcontrib/fast-import/git-p432
1 files changed, 18 insertions, 14 deletions
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index efa2fce29e..cf9db73da6 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -15,47 +15,47 @@ import re
from sets import Set;
gitdir = os.environ.get("GIT_DIR", "")
-silent = True
+verbose = False
def write_pipe(c, str):
- if not silent:
+ if verbose:
sys.stderr.write('writing pipe: %s\n' % c)
pipe = os.popen(c, 'w')
val = pipe.write(str)
if pipe.close():
- sys.stderr.write('Command failed')
+ sys.stderr.write('Command %s failed\n' % c)
sys.exit(1)
return val
-def read_pipe(c):
- if not silent:
+def read_pipe(c, ignore_error=False):
+ if verbose:
sys.stderr.write('reading pipe: %s\n' % c)
pipe = os.popen(c, 'rb')
val = pipe.read()
- if pipe.close():
- sys.stderr.write('Command failed')
+ if pipe.close() and not ignore_error:
+ sys.stderr.write('Command %s failed\n' % c)
sys.exit(1)
return val
def read_pipe_lines(c):
- if not silent:
+ if verbose:
sys.stderr.write('reading pipe: %s\n' % c)
## todo: check return status
pipe = os.popen(c, 'rb')
val = pipe.readlines()
if pipe.close():
- sys.stderr.write('Command failed')
+ sys.stderr.write('Command %s failed\n' % c)
sys.exit(1)
return val
def system(cmd):
- if not silent:
+ if verbose:
sys.stderr.write("executing %s" % cmd)
if os.system(cmd) != 0:
die("command failed: %s" % cmd)
@@ -157,7 +157,7 @@ def gitBranchExists(branch):
return proc.wait() == 0;
def gitConfig(key):
- return mypopen("git config %s" % key).read()[:-1]
+ return read_pipe("git config %s" % key, ignore_error=True).strip()
class Command:
def __init__(self):
@@ -168,7 +168,8 @@ class P4Debug(Command):
def __init__(self):
Command.__init__(self)
self.options = [
- ]
+ optparse.make_option("--verbose", dest="verbose", action="store_true"),
+ ]
self.description = "A tool to debug the output of p4 -G."
self.needsGit = False
@@ -234,6 +235,7 @@ class P4Submit(Command):
Command.__init__(self)
self.options = [
optparse.make_option("--continue", action="store_false", dest="firstTime"),
+ optparse.make_option("--verbose", dest="verbose", action="store_true"),
optparse.make_option("--origin", dest="origin"),
optparse.make_option("--reset", action="store_true", dest="reset"),
optparse.make_option("--log-substitutions", dest="substFile"),
@@ -861,11 +863,12 @@ class P4Sync(Command):
if not self.silent:
print "Creating/updating branch(es) in %s based on origin branch(es)" % self.refPrefix
- for line in mypopen("git rev-parse --symbolic --remotes"):
+ for line in read_pipe_lines("git rev-parse --symbolic --remotes"):
+ line = line.strip()
if (not line.startswith("origin/")) or line.endswith("HEAD\n"):
continue
- headName = line[len("origin/"):-1]
+ headName = line[len("origin/")]
remoteHead = self.refPrefix + headName
originHead = "origin/" + headName
@@ -1292,6 +1295,7 @@ if len(options) > 0:
(cmd, args) = parser.parse_args(sys.argv[2:], cmd);
+verbose = cmd.verbose
if cmd.needsGit:
gitdir = cmd.gitdir
if len(gitdir) == 0: