chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
import-dsc: Introduce $info (nfc)
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index 88df4ef5eedeaf0bca604e477067dc2b53d18b49..87419c266574709d8fc02b420ded39ae2aba6f3e 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-5281,9
+5281,19
@@
sub cmd_import_dsc {
badusage "dry run makes no sense with import-dsc" unless act_local();
badusage "dry run makes no sense with import-dsc" unless act_local();
+ my $info = "$dscfn";
+
+ my $specbranch = $dstbranch;
$dstbranch = "refs/heads/$dstbranch" unless $dstbranch =~ m#^refs/#;
$dstbranch = cmdoutput @git, qw(check-ref-format --normalize), $dstbranch;
$dstbranch = "refs/heads/$dstbranch" unless $dstbranch =~ m#^refs/#;
$dstbranch = cmdoutput @git, qw(check-ref-format --normalize), $dstbranch;
+ my @symcmd = (@git, qw(symbolic-ref -q HEAD));
+ my $chead = cmdoutput_errok @symcmd;
+ defined $chead or $?==256 or failedcmd @symcmd;
+
+ fail "$dstbranch is checked out - will not update it"
+ if defined $chead and $chead eq $dstbranch;
+
open D, "<", $dscfn or fail "open import .dsc ($dscfn): $!";
$dscdata = do { local $/ = undef; <D>; };
D->error and fail "read $dscfn: $!";
open D, "<", $dscfn or fail "open import .dsc ($dscfn): $!";
$dscdata = do { local $/ = undef; <D>; };
D->error and fail "read $dscfn: $!";
@@
-5305,7
+5315,7
@@
Your git tree does not have that object. Try `git fetch' from a
plausible server (browse.dgit.d.o? alioth?), and try the import-dsc again.
END
}
plausible server (browse.dgit.d.o? alioth?), and try the import-dsc again.
END
}
- @cmd = (@git, qw(update-ref -m), "dgit import-dsc (Dgit): $
dscfn
",
+ @cmd = (@git, qw(update-ref -m), "dgit import-dsc (Dgit): $
info
",
$dstbranch, $dgit_commit);
runcmd @cmd;
progress "dgit: import-dsc updated git ref $dstbranch";
$dstbranch, $dgit_commit);
runcmd @cmd;
progress "dgit: import-dsc updated git ref $dstbranch";
@@
-5337,7
+5347,7
@@
END
my @mergeinputs = generate_commits_from_dsc();
die unless @mergeinputs == 1;
my @mergeinputs = generate_commits_from_dsc();
die unless @mergeinputs == 1;
- my @cmd = (@git, qw(update-ref -m), "dgit import-dsc: $
dscfn
",
+ my @cmd = (@git, qw(update-ref -m), "dgit import-dsc: $
info
",
$dstbranch, $mergeinputs[0]{Commit});
runcmd @cmd;
progress "dgit: import-dsc results are in in git ref $dstbranch";
$dstbranch, $mergeinputs[0]{Commit});
runcmd @cmd;
progress "dgit: import-dsc results are in in git ref $dstbranch";