From 569ce0e4605b2ac247f62a3508e1c71275aded64 Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Date: Tue, 27 May 2014 19:06:19 +0200
Subject: [PATCH] add more verbosity to git command invocations

Change-Id: Id49de348f8808a9786616e512636c08eb4d6ef6d
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
---
 bin/git-gpush | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/bin/git-gpush b/bin/git-gpush
index fbb9f17..3d20642 100755
--- a/bin/git-gpush
+++ b/bin/git-gpush
@@ -105,6 +105,20 @@ sub format_cmd(@)
     return join(' ', map { /\s/ ? '"' . $_ . '"' : $_ } @_);
 }
 
+sub read_git_line(@)
+{
+    print "+ " . format_cmd('git', @_) . "\n" if ($verbose);
+    open PROC, '-|', 'git', @_
+        or die("Failed to run " . format_cmd('git', @_) . ": $!\n");
+    my $line = <PROC>;
+    if (defined($line)) {
+        chomp $line ;
+        print "- $line\n" if ($verbose);
+    }
+    close PROC;
+    return $line;
+}
+
 sub parse_arguments(@)
 {
     while (scalar @_) {
@@ -220,17 +234,13 @@ sub determine_target()
     if ($ref_to eq "") {
         my $ref = $ref_from;
         $ref =~ s/[~^].*$//;
-        my $sref = `git symbolic-ref -q $ref`;
-        if ($? == 0) {
-            chomp $sref;
-            $ref = $sref;
-        }
+        my $sref = read_git_line("symbolic-ref", "-q", $ref);
+        $ref = $sref if ($? == 0);
         $ref =~ s,^refs/heads/,,;
-        `git rev-parse --verify -q refs/heads/$ref`;
+        read_git_line("rev-parse", "--verify", "-q", "refs/heads/".$ref);
         die "Cannot detect tracking branch, $ref is not a valid ref.\n" if ($? != 0);
-        $ref_to = `git config branch.$ref.merge`;
+        $ref_to = read_git_line("config", "branch.$ref.merge");
         die "Cannot detect tracking branch, 'git config branch.$ref.merge' failed.\n" if ($? != 0);
-        chomp $ref_to;
         $ref_to =~ s,^refs/heads/,,;
     }
     if ($ref_to =~ m,^refs/for/,) {
-- 
GitLab