summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-10-11 00:28:55 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-10-11 00:58:26 +0100
commit327b277d06a194a614b6cc3f872c8a678292d7bc (patch)
treee67fac824ec5689196037ca7512a2b719913c824
parenta8a18c8f483c03492a114aac2be5e89b8f32f5c8 (diff)
dgit: Handle EXDEV when putting in place output source
Replace a rename call with rename_link_xf, and change the subsequent error handling to use $@ iff appropriate. Closes: #910730. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xdgit4
1 files changed, 2 insertions, 2 deletions
diff --git a/dgit b/dgit
index e35f168..5b223af 100755
--- a/dgit
+++ b/dgit
@@ -6603,8 +6603,8 @@ sub build_source {
my $mv = sub {
my ($why, $l) = @_;
printdebug " renaming ($why) $l\n";
- rename "$l", bpd_abs()."/$l"
- or fail f_ "put in place new built file (%s): %s", $l, $!;
+ rename_link_xf 0, "$l", bpd_abs()."/$l"
+ or fail f_ "put in place new built file (%s): %s", $l, $@;
};
foreach my $l (split /\n/, getfield $dsc, 'Files') {
$l =~ m/\S+$/ or next;