chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Detect and reject git trees containing debian/source/local-options.
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index 62cd049929cd7dd63a723f3902e26a14afd710d9..621288b7184186f6c95607cb4727af83e9b742bd 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-1382,11
+1382,12
@@
sub generate_commit_from_dsc () {
my $f = $fi->{Filename};
die "$f ?" if $f =~ m#/|^\.|\.dsc$|\.tmp$#;
my $f = $fi->{Filename};
die "$f ?" if $f =~ m#/|^\.|\.dsc$|\.tmp$#;
- link "../../../$f", $f
+ link
_ltarget
"../../../$f", $f
or $!==&ENOENT
or die "$f $!";
or $!==&ENOENT
or die "$f $!";
- complete_file_from_dsc('.', $fi);
+ complete_file_from_dsc('.', $fi)
+ or next;
if (is_orig_file($f)) {
link $f, "../../../../$f"
if (is_orig_file($f)) {
link $f, "../../../../$f"
@@
-1481,10
+1482,10
@@
sub complete_file_from_dsc ($$) {
my $furl = $dscurl;
$furl =~ s{/[^/]+$}{};
$furl .= "/$f";
my $furl = $dscurl;
$furl =~ s{/[^/]+$}{};
$furl .= "/$f";
- die "$f ?" unless $f =~ m/^
${package}
_/;
+ die "$f ?" unless $f =~ m/^
\Q${package}\E
_/;
die "$f ?" if $f =~ m#/#;
runcmd_ordryrun_local @curl,qw(-o),$tf,'--',"$furl";
die "$f ?" if $f =~ m#/#;
runcmd_ordryrun_local @curl,qw(-o),$tf,'--',"$furl";
-
next
if !act_local();
+
return 0
if !act_local();
$downloaded = 1;
}
$downloaded = 1;
}
@@
-1498,13
+1499,16
@@
sub complete_file_from_dsc ($$) {
" demands hash $fi->{Hash} ".
($downloaded ? "(got wrong file from archive!)"
: "(perhaps you should delete this file?)");
" demands hash $fi->{Hash} ".
($downloaded ? "(got wrong file from archive!)"
: "(perhaps you should delete this file?)");
+
+ return 1;
}
sub ensure_we_have_orig () {
foreach my $fi (dsc_files_info()) {
my $f = $fi->{Filename};
next unless is_orig_file($f);
}
sub ensure_we_have_orig () {
foreach my $fi (dsc_files_info()) {
my $f = $fi->{Filename};
next unless is_orig_file($f);
- complete_file_from_dsc('..', $fi);
+ complete_file_from_dsc('..', $fi)
+ or next;
}
}
}
}
@@
-1757,6
+1761,10
@@
sub check_not_dirty () {
} else {
failedcmd @cmd;
}
} else {
failedcmd @cmd;
}
+
+ if (stat_exists "debian/source/local-options") {
+ fail "git tree contains debian/source/local-options";
+ }
}
sub commit_admin ($) {
}
sub commit_admin ($) {
@@
-1779,7
+1787,8
@@
sub commit_quilty_patch () {
progress "nothing quilty to commit, ok.";
return;
}
progress "nothing quilty to commit, ok.";
return;
}
- runcmd_ordryrun_local @git, qw(add), sort keys %adds;
+ my @adds = map { s/[][*?\\]/\\$&/g; $_; } sort keys %adds;
+ runcmd_ordryrun_local @git, qw(add -f), @adds;
commit_admin "Commit Debian 3.0 (quilt) metadata";
}
commit_admin "Commit Debian 3.0 (quilt) metadata";
}
@@
-2521,7
+2530,7
@@
sub quiltify ($$) {
remove_stray_gits();
mktree_in_ud_here();
rmtree '.pc';
remove_stray_gits();
mktree_in_ud_here();
rmtree '.pc';
- runcmd @git,
'add', '.'
;
+ runcmd @git,
qw(add -Af .)
;
my $oldtiptree=git_write_tree();
changedir '../work';
my $oldtiptree=git_write_tree();
changedir '../work';
@@
-2622,7
+2631,7
@@
sub quiltify ($$) {
my $abbrev = sub {
my $x = $_[0]{Commit};
$x =~ s/(.*?[0-9a-z]{8})[0-9a-z]*$/$1/;
my $abbrev = sub {
my $x = $_[0]{Commit};
$x =~ s/(.*?[0-9a-z]{8})[0-9a-z]*$/$1/;
- return $;
+ return $
x
;
};
my $reportnot = sub {
my ($notp) = @_;
};
my $reportnot = sub {
my ($notp) = @_;
@@
-2794,7
+2803,7
@@
END
foreach my $f (<../../../../*>) { #/){
my $b=$f; $b =~ s{.*/}{};
next unless is_orig_file $b, srcfn $upstreamversion,'';
foreach my $f (<../../../../*>) { #/){
my $b=$f; $b =~ s{.*/}{};
next unless is_orig_file $b, srcfn $upstreamversion,'';
- link $f, $b or die "$b $!";
+ link
_ltarget
$f, $b or die "$b $!";
$dscaddfile->($b);
}
$dscaddfile->($b);
}