chiark / gitweb /
Dgit.pm: runcmd: Break out from dgit
[dgit.git] / Debian / Dgit.pm
index dcecbd1a840e7f0c7718b398d585e2e4d4e3fe77..5b5591d5499695def37c47f023a00f854bfa1738 100644 (file)
@@ -45,7 +45,7 @@ BEGIN {
                       fail ensuredir executable_on_path
                       waitstatusmsg failedcmd_waitstatus
                      failedcmd_report_cmd failedcmd
-                      cmdoutput cmdoutput_errok
+                      runcmd cmdoutput cmdoutput_errok
                       git_rev_parse git_cat_file
                      git_get_ref git_for_each_ref
                       git_for_each_tag_referring is_fast_fwd
@@ -276,6 +276,12 @@ sub failedcmd {
     fail failedcmd_waitstatus();
 }
 
+sub runcmd {
+    debugcmd "+",@_;
+    $!=0; $?=-1;
+    failedcmd @_ if system @_;
+}
+
 sub cmdoutput_errok {
     confess Dumper(\@_)." ?" if grep { !defined } @_;
     debugcmd "|",@_;