chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dsc import: Call resolve_dsc_field_commit
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index ca343afc87f911fb832a1b0f0b79182f075dd6f4..3ffcf77a7198501037d8566ee8a96722b2ef2b58 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-2769,7
+2769,8
@@
sub resolve_dsc_field_commit ($$) {
return unless defined $dsc_hash;
my $mapref =
return unless defined $dsc_hash;
my $mapref =
- $already_distro eq $dsc_distro || !$chase_dsc_distro
+ defined $already_mapref &&
+ ($already_distro eq $dsc_distro || !$chase_dsc_distro)
? $already_mapref : undef;
my $do_fetch;
? $already_mapref : undef;
my $do_fetch;
@@
-6022,11
+6023,16
@@
sub cmd_import_dsc {
parse_dscdata();
parse_dscdata();
- parse_dsc_field($dsc, "Dgit metadata in .dsc");
+ $package = getfield $dsc, 'Source';
+
+ parse_dsc_field($dsc, "Dgit metadata in .dsc")
+ unless forceing [qw(import-dsc-with-dgit-field)];
- if (defined $dsc_hash
- && !forceing [qw(import-dsc-with-dgit-field)]) {
+ if (defined $dsc_hash) {
progress "dgit: import-dsc of .dsc with Dgit field, using git hash";
progress "dgit: import-dsc of .dsc with Dgit field, using git hash";
+ resolve_dsc_field_commit undef, undef;
+ }
+ if (defined $dsc_hash) {
my @cmd = (qw(sh -ec),
"echo $dsc_hash | git cat-file --batch-check");
my $objgot = cmdoutput @cmd;
my @cmd = (qw(sh -ec),
"echo $dsc_hash | git cat-file --batch-check");
my $objgot = cmdoutput @cmd;
@@
-6058,7
+6064,6
@@
Specify +$specbranch to overwrite, discarding existing history
END
if $oldhash && !$force;
END
if $oldhash && !$force;
- $package = getfield $dsc, 'Source';
my @dfi = dsc_files_info();
foreach my $fi (@dfi) {
my $f = $fi->{Filename};
my @dfi = dsc_files_info();
foreach my $fi (@dfi) {
my $f = $fi->{Filename};