From e4ff2dddf705d2025b5cf03d1af2ef9161ed54f4 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 22 Aug 2013 14:00:12 +0100 Subject: support _multi.changes --- dgit | 18 ++++++++++++------ dgit.1 | 3 ++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/dgit b/dgit index eb263b1..d61cea7 100755 --- a/dgit +++ b/dgit @@ -772,12 +772,18 @@ sub dopush () { $dsc->{$ourdscfield} = rev_parse('HEAD'); $dsc->save("../$dscfn.tmp") or die $!; if (!$changesfile) { - my $pat = "${package}_c$version_*.changes"; - my @cs = glob "../$pat"; - fail "failed to find unique changes file". - " (looked for $pat in ..); perhaps you need to use dgit -C" - unless @cs==1; - ($changesfile) = @cs; + my $multi = "${package}_${cversion}_multi.changes"; + if (stat $multi) { + $changesfile = $multi; + } else { + $!==&ENOENT or die "$multi: $!"; + my $pat = "${package}_${cversion}_*.changes"; + my @cs = glob "../$pat"; + fail "failed to find unique changes file". + " (looked for $pat in ..); perhaps you need to use dgit -C" + unless @cs==1; + ($changesfile) = @cs; + } } my $tag = debiantag($dversion); if (!check_for_git()) { diff --git a/dgit.1 b/dgit.1 index e0a10ef..1f5fd84 100644 --- a/dgit.1 +++ b/dgit.1 @@ -321,7 +321,8 @@ Can be repeated as necessary. .BI -C changesfile Specifies the .changes file which is to be uploaded. By default dgit push looks for single .changes file in the parent directory whose -filename suggests it is for the right package and version. +filename suggests it is for the right package and version - or, +if there is a _multi.changes file, dgit uses that. .TP .BI --existing-package= package dgit push needs to canonicalise the suite name. But currently -- cgit v1.2.3