chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
cdbc628
)
improvements to cmdoutput handling, chomping, etc.
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 17 Aug 2013 10:57:15 +0000
(11:57 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sat, 17 Aug 2013 10:57:15 +0000
(11:57 +0100)
dgit
patch
|
blob
|
history
diff --git
a/dgit
b/dgit
index b0795627e2acddb7f9e4bc72a8eacb96333323d6..279d92de1bb7a81a5351a1b6d20bd71a0e596cb4 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-111,8
+111,10
@@
sub cmdoutput_errok {
$!=0; $?=0;
{ local $/ = undef; $d = <P>; }
die if P->error;
$!=0; $?=0;
{ local $/ = undef; $d = <P>; }
die if P->error;
- close P or return undef;
+ if (!close P) { print DEBUG "=>!$?\n" if $debug>0; return undef; }
chomp $d;
chomp $d;
+ $d =~ m/^.*/;
+ print DEBUG "=> \`$&'",(length $' ? '...' : ''),"\n" if $debug>0; #';
return $d;
}
return $d;
}
@@
-153,7
+155,6
@@
sub cfg {
$v = cmdoutput_errok(@git, qw(config --), $c);
};
if ($?==0) {
$v = cmdoutput_errok(@git, qw(config --), $c);
};
if ($?==0) {
- chomp $v;
return $v;
} elsif ($?!=256) {
die "$c $?";
return $v;
} elsif ($?!=256) {
die "$c $?";
@@
-319,7
+320,7
@@
sub mktree_in_ud_from_only_subdir () {
symlink '../../../../objects','.git/objects' or die $!;
runcmd @git, qw(add -Af);
my $tree = cmdoutput @git, qw(write-tree);
symlink '../../../../objects','.git/objects' or die $!;
runcmd @git, qw(add -Af);
my $tree = cmdoutput @git, qw(write-tree);
-
chomp $tree;
$tree =~ m/^\w+$/ or die "$tree ?";
+ $tree =~ m/^\w+$/ or die "$tree ?";
return ($tree,$dir);
}
return ($tree,$dir);
}
@@
-599,7
+600,6
@@
sub cmd_clone {
sub branchsuite () {
my $branch = cmdoutput_errok @git, qw(symbolic-ref HEAD);
sub branchsuite () {
my $branch = cmdoutput_errok @git, qw(symbolic-ref HEAD);
- chomp $branch;
if ($branch =~ m#$lbranch_re#o) {
return $1;
} else {
if ($branch =~ m#$lbranch_re#o) {
return $1;
} else {