diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-13 13:50:15 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-13 18:32:23 +0000 |
commit | 6516b26b1e24241f879b9bde6533d1c8a384c803 (patch) | |
tree | 628fcb453aa9d4391e038098fd364015dea6bb3c | |
parent | 94aff6a7288630849c0aaebe2a55ae7a68fe1932 (diff) |
dgit: Option parsing: Fix undefined $suite in some import-dsc.
* Set $isuite to a dummy value. In import-dsc we aren't operating on
a suite. We have to set it to something (because the config likes
to look at the suite) and this avoids picking up information
relating to the default suite.
* Set $idistro (if -d not supplied) to the distro from (or implied by)
the .dsc. This is needed so that we do not use any config from the
default distro. In particular, the default commands (like what
`git' command to use to access the dgit git server) need to be found
via the dsc's distro's cmd-git setting, and this is done by
parseopts_late_defaults() in pushing(). So we must set $idistro
before then.
* Move notpushing earlier, so that we call it before we call
resolve_dsc_field_commit(). (It doesn't matter there for $idistro,
because it sets that itself, but the git command does.)
Closes:#851213.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rw-r--r-- | debian/changelog | 2 | ||||
-rwxr-xr-x | dgit | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index 4d0b59a..04328fe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,8 @@ dgit (3.3~) unstable; urgency=medium * dgit: Remove a leftover debugging print. * dgit: Set default dsc import distro when there is no Dgit field. * dgit: Set default dsc import distro when suppressing Dgit field. + * dgit: Option parsing: Fix undefined $suite in some import-dsc. + Closes:#851213. Packaging: * Remove redundant Recommends on libtext-iconv-perl. @@ -6119,6 +6119,11 @@ sub cmd_import_dsc { unless forceing [qw(import-dsc-with-dgit-field)]; parse_dsc_field_def_dsc_distro(); + $isuite = 'DGIT-IMPORT-DSC'; + $idistro //= $dsc_distro; + + notpushing(); + if (defined $dsc_hash) { progress "dgit: import-dsc of .dsc with Dgit field, using git hash"; resolve_dsc_field_commit undef, undef; @@ -6155,8 +6160,6 @@ Specify +$specbranch to overwrite, discarding existing history END if $oldhash && !$force; - notpushing(); - my @dfi = dsc_files_info(); foreach my $fi (@dfi) { my $f = $fi->{Filename}; |