From: Pete Wyckoff Date: Fri, 28 Sep 2012 12:04:22 GMT Subject: [PATCH 18/21] git p4: avoid shell when invoking git rev-list Message-ID: <1348833865-6093-19-git-send-email-pw@padd.com> In-Reply-To: <1348833865-6093-1-git-send-email-pw@padd.com> Invoke git rev-list directly, avoiding the shell, in P4Submit and P4Sync. The overhead of starting extra processes is significant in cygwin; this speeds things up on that platform. Signed-off-by: Pete Wyckoff --- git-p4.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/git-p4.py b/git-p4.py index a92d84f..9c33af4 100755 --- a/git-p4.py +++ b/git-p4.py @@ -1538,7 +1538,7 @@ class P4Submit(Command, P4UserMap): self.check() commits = [] - for line in read_pipe_lines("git rev-list --no-merges %s..%s" % (self.origin, self.master)): + for line in read_pipe_lines(["git", "rev-list", "--no-merges", "%s..%s" % (self.origin, self.master)]): commits.append(line.strip()) commits.reverse() @@ -2558,7 +2558,8 @@ class P4Sync(Command, P4UserMap): def searchParent(self, parent, branch, target): parentFound = False - for blob in read_pipe_lines(["git", "rev-list", "--reverse", "--no-merges", parent]): + for blob in read_pipe_lines(["git", "rev-list", "--reverse", + "--no-merges", parent]): blob = blob.strip() if len(read_pipe(["git", "diff-tree", blob, target])) == 0: parentFound = True -- 1.7.12.1.403.g28165e1