From: Ian Jackson Date: Sun, 26 May 2019 11:48:59 +0000 (+0100) Subject: dgit: quilt_need_fake_dsc: Make idempotent X-Git-Tag: archive/debian/9.0~134 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=1a2569eb0561793ae8b5d8c5dab9f90f2fd3fcfa;p=dgit.git dgit: quilt_need_fake_dsc: Make idempotent No overall functional change. Signed-off-by: Ian Jackson --- diff --git a/dgit b/dgit index b0c60c4a..ef5fc192 100755 --- a/dgit +++ b/dgit @@ -4495,7 +4495,7 @@ END if (quiltmode_splitbrain()) { $do_split_brain = 1; changedir $playground; - quilt_make_fake_dsc($upstreamversion); + quilt_need_fake_dsc($upstreamversion); my $cachekey; ($dgithead, $cachekey) = quilt_check_splitbrain_cache($actualhead, $upstreamversion); @@ -5926,9 +5926,14 @@ sub quilt_fixup_singlepatch ($$$) { commit_quilty_patch(); } -sub quilt_make_fake_dsc ($) { +sub quilt_need_fake_dsc ($) { + # cwd should be playground my ($upstreamversion) = @_; + return if stat_exists "fake.dsc"; + # ^ OK to test this as a sentinel because if we created it + # we must either have done the rest too, or crashed. + my $fakeversion="$upstreamversion-~~DGITFAKE"; my $fakedsc=new IO::File 'fake.dsc', '>' or confess "$!"; @@ -5972,7 +5977,7 @@ END sub quilt_fakedsc2unapplied ($$) { my ($headref, $upstreamversion) = @_; # must be run in the playground - # quilt_make_fake_dsc must have been called + # quilt_need_fake_dsc must have been called runcmd qw(sh -ec), 'exec dpkg-source --no-check --skip-patches -x fake.dsc >/dev/null'; @@ -6125,7 +6130,7 @@ sub quilt_fixup_multipatch ($$$) { my $splitbrain_cachekey; - quilt_make_fake_dsc($upstreamversion); + quilt_need_fake_dsc($upstreamversion); if (quiltmode_splitbrain()) { my $cachehit; @@ -6894,7 +6899,7 @@ sub cmd_print_unapplied_treeish { prep_ud(); changedir $playground; my $uv = upstreamversion $version; - quilt_make_fake_dsc($uv); + quilt_need_fake_dsc($uv); my $u = quilt_fakedsc2unapplied($headref, $uv); print $u, "\n" or confess "$!"; }