chiark / gitweb /
Debugging output: Break out debugcmd into Dgit.pm and use it everywhere (nfc)
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 May 2015 17:58:54 +0000 (18:58 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 31 May 2015 10:54:08 +0000 (11:54 +0100)
Debian/Dgit.pm
dgit

index 5c079a6..2b9479d 100644 (file)
@@ -17,7 +17,8 @@ BEGIN {
     @EXPORT      = qw(debiantag server_branch server_ref
                       stat_exists git_for_each_ref
                       $package_re $component_re $branchprefix
-                      initdebug enabledebug printdebug $debugprefix $debug
+                      initdebug enabledebug printdebug debugcmd
+                      $debugprefix $debug
                       shellquote printcmd);
     %EXPORT_TAGS = ( policyflags => [qw(NOFFCHECK FRESHREPO)] );
     @EXPORT_OK   = @{ $EXPORT_TAGS{policyflags} };
@@ -117,4 +118,9 @@ sub printcmd {
     print $fh "\n" or die $!;
 }
 
+sub debugcmd {
+    my $extraprefix = shift @_;
+    printcmd(\*::DEBUG,$debugprefix.$extraprefix,@_) if $debug>0;
+}
+
 1;
diff --git a/dgit b/dgit
index 268f356..44cfb15 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -386,7 +386,7 @@ sub failedcmd {
 }
 
 sub runcmd {
-    printcmd(\*DEBUG,$debugprefix."+",@_) if $debug>0;
+    debugcmd "+",@_;
     $!=0; $?=0;
     failedcmd @_ if system @_;
 }
@@ -404,7 +404,7 @@ sub printdone {
 
 sub cmdoutput_errok {
     die Dumper(\@_)." ?" if grep { !defined } @_;
-    printcmd(\*DEBUG,$debugprefix."|",@_) if $debug>0;
+    debugcmd "|",@_;
     open P, "-|", @_ or die $!;
     my $d;
     $!=0; $?=0;
@@ -911,7 +911,7 @@ sub sshpsql ($$$) {
               access_runeinfo("ssh-psql $runeinfo").
               " export LC_MESSAGES=C; export LC_CTYPE=C;".
               " ".shellquote qw(psql -A), $dbname, qw(-c), $sql);
-    printcmd(\*DEBUG,$debugprefix."|",@cmd) if $debug>0;
+    debugcmd "|",@cmd;
     open P, "-|", @cmd or die $!;
     while (<P>) {
        chomp or die;
@@ -1503,7 +1503,7 @@ sub pull () {
 sub check_not_dirty () {
     return if $ignoredirty;
     my @cmd = (@git, qw(diff --quiet HEAD));
-    printcmd(\*DEBUG,$debugprefix."+",@cmd) if $debug>0;
+    debugcmd "+",@cmd;
     $!=0; $?=0; system @cmd;
     return if !$! && !$?;
     if (!$! && $?==256) {
@@ -1695,7 +1695,7 @@ sub dopush () {
     changedir '../../../..';
     my $diffopt = $debug>0 ? '--exit-code' : '--quiet';
     my @diffcmd = (@git, qw(diff), $diffopt, $tree);
-    printcmd \*DEBUG,$debugprefix."+",@diffcmd;
+    debugcmd "+",@diffcmd;
     $!=0; $?=0;
     my $r = system @diffcmd;
     if ($r) {
@@ -1993,7 +1993,7 @@ sub cmd_rpush {
     push @rdgit, qw(remote-push-build-host), (scalar @rargs), @rargs;
     push @rdgit, @ARGV;
     my @cmd = (@ssh, $host, shellquote @rdgit);
-    printcmd \*DEBUG,$debugprefix."+",@cmd;
+    debugcmd "+",@cmd;
 
     if (defined $initiator_tempdir) {
        rmtree $initiator_tempdir;