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 /dgit | |
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>
Diffstat (limited to 'dgit')
-rwxr-xr-x | dgit | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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}; |