chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Dgit: break must_getcwd out into Dgit.pm
[dgit.git]
/
Debian
/
Dgit.pm
diff --git
a/Debian/Dgit.pm
b/Debian/Dgit.pm
index e25a3af8339b4a659eff47fa4de9e42f871cd26f..1d713b920d92aefa195f768df07374b65e64c483 100644
(file)
--- a/
Debian/Dgit.pm
+++ b/
Debian/Dgit.pm
@@
-44,7
+44,7
@@
BEGIN {
server_branch server_ref
stat_exists link_ltarget
hashfile
server_branch server_ref
stat_exists link_ltarget
hashfile
- fail ensuredir executable_on_path
+ fail ensuredir
must_getcwd
executable_on_path
waitstatusmsg failedcmd_waitstatus
failedcmd_report_cmd failedcmd
runcmd cmdoutput cmdoutput_errok
waitstatusmsg failedcmd_waitstatus
failedcmd_report_cmd failedcmd
runcmd cmdoutput cmdoutput_errok
@@
-224,6
+224,12
@@
sub ensuredir ($) {
die "mkdir $dir: $!";
}
die "mkdir $dir: $!";
}
+sub must_getcwd () {
+ my $d = getcwd();
+ defined $d or fail "getcwd failed: $!";
+ return $d;
+}
+
sub executable_on_path ($) {
my ($program) = @_;
return 1 if $program =~ m{/};
sub executable_on_path ($) {
my ($program) = @_;
return 1 if $program =~ m{/};
@@
-481,9
+487,9
@@
sub in_workarea ($;$) {
# $twa should be relative paths of the form .git/FOO/BAR
my ($twa) = @_;
$twa //= $wa;
# $twa should be relative paths of the form .git/FOO/BAR
my ($twa) = @_;
$twa //= $wa;
- chdir $twa or die "$twa $!";
+ ch
ange
dir $twa or die "$twa $!";
my $r = eval { $sub->($twa); };
my $r = eval { $sub->($twa); };
- chdir '../../..' or die "$@; $!";
+ ch
ange
dir '../../..' or die "$@; $!";
die $@ if length $@;
return $r;
}
die $@ if length $@;
return $r;
}