chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dgit: avoid dying with wrong message if compression fails
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index 6134f5c7162b159a9f8aa52bda97b5b340cec145..6f98813230a8a29db44564cc784bdeaf91e44f29 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-100,7
+100,7
@@
our $rewritemap = 'dgit-rewrite/map';
our (@git) = qw(git);
our (@dget) = qw(dget);
our (@git) = qw(git);
our (@dget) = qw(dget);
-our (@curl) =
qw(curl
);
+our (@curl) =
(qw(curl --proto-redir), '-all,http,https', qw(-L)
);
our (@dput) = qw(dput);
our (@debsign) = qw(debsign);
our (@gpg) = qw(gpg);
our (@dput) = qw(dput);
our (@debsign) = qw(debsign);
our (@gpg) = qw(gpg);
@@
-566,6
+566,9
@@
sub nextarg {
return scalar shift @ARGV;
}
return scalar shift @ARGV;
}
+sub pre_help () {
+ no_local_git_cfg();
+}
sub cmd_help () {
print $helpmsg or die $!;
exit 0;
sub cmd_help () {
print $helpmsg or die $!;
exit 0;
@@
-704,6
+707,11
@@
sub cfg {
"$us: distro or suite appears not to be (properly) supported";
}
"$us: distro or suite appears not to be (properly) supported";
}
+sub no_local_git_cfg () {
+ # needs to be called from pre_*
+ @gitcfgsources = grep { $_ ne 'local' } @gitcfgsources;
+}
+
sub access_basedistro__noalias () {
if (defined $idistro) {
return $idistro;
sub access_basedistro__noalias () {
if (defined $idistro) {
return $idistro;
@@
-2173,7
+2181,7
@@
sub generate_commits_from_dsc () {
if defined $compr_ext && !defined $cname;
my $compr_proc =
new Dpkg::Compression::Process compression => $cname;
if defined $compr_ext && !defined $cname;
my $compr_proc =
new Dpkg::Compression::Process compression => $cname;
-
my
@compr_cmd = $compr_proc->get_uncompress_cmdline();
+ @compr_cmd = $compr_proc->get_uncompress_cmdline();
my $compr_fh = new IO::Handle;
my $compr_pid = open $compr_fh, "-|" // die $!;
if (!$compr_pid) {
my $compr_fh = new IO::Handle;
my $compr_pid = open $compr_fh, "-|" // die $!;
if (!$compr_pid) {
@@
-2519,7
+2527,7
@@
sub complete_file_from_dsc ($$;$) {
$fi->{Digester}->reset();
$fi->{Digester}->addfile(*F);
F->error and die $!;
$fi->{Digester}->reset();
$fi->{Digester}->addfile(*F);
F->error and die $!;
-
my
$got = $fi->{Digester}->hexdigest();
+ $got = $fi->{Digester}->hexdigest();
return $got eq $fi->{Hash};
};
return $got eq $fi->{Hash};
};
@@
-4409,6
+4417,9
@@
END
responder_send_command("complete");
}
responder_send_command("complete");
}
+sub pre_clone () {
+ no_local_git_cfg();
+}
sub cmd_clone {
parseopts();
my $dstdir;
sub cmd_clone {
parseopts();
my $dstdir;
@@
-4542,7
+4553,7
@@
sub cmd_push {
#---------- remote commands' implementation ----------
#---------- remote commands' implementation ----------
-sub
cmd
_remote_push_build_host {
+sub
pre
_remote_push_build_host {
my ($nrargs) = shift @ARGV;
my (@rargs) = @ARGV[0..$nrargs-1];
@ARGV = @ARGV[$nrargs..$#ARGV];
my ($nrargs) = shift @ARGV;
my (@rargs) = @ARGV[0..$nrargs-1];
@ARGV = @ARGV[$nrargs..$#ARGV];
@@
-4572,11
+4583,14
@@
sub cmd_remote_push_build_host {
" but invocation host has $vsnwant"
unless defined $protovsn;
" but invocation host has $vsnwant"
unless defined $protovsn;
- responder_send_command("dgit-remote-push-ready $protovsn");
changedir $dir;
changedir $dir;
+}
+sub cmd_remote_push_build_host {
+ responder_send_command("dgit-remote-push-ready $protovsn");
&cmd_push;
}
&cmd_push;
}
+sub pre_remote_push_responder { pre_remote_push_build_host(); }
sub cmd_remote_push_responder { cmd_remote_push_build_host(); }
# ... for compatibility with proto vsn.1 dgit (just so that user gets
# a good error message)
sub cmd_remote_push_responder { cmd_remote_push_build_host(); }
# ... for compatibility with proto vsn.1 dgit (just so that user gets
# a good error message)
@@
-4616,6
+4630,9
@@
sub i_method {
{ no strict qw(refs); &{"${base}_${selector}"}(@args); }
}
{ no strict qw(refs); &{"${base}_${selector}"}(@args); }
}
+sub pre_rpush () {
+ no_local_git_cfg();
+}
sub cmd_rpush {
my $host = nextarg;
my $dir;
sub cmd_rpush {
my $host = nextarg;
my $dir;
@@
-6372,6
+6389,9
@@
END
"results are in in git ref $dstbranch";
}
"results are in in git ref $dstbranch";
}
+sub pre_archive_api_query () {
+ no_local_git_cfg();
+}
sub cmd_archive_api_query {
badusage "need only 1 subpath argument" unless @ARGV==1;
my ($subpath) = @ARGV;
sub cmd_archive_api_query {
badusage "need only 1 subpath argument" unless @ARGV==1;
my ($subpath) = @ARGV;
@@
-6388,6
+6408,9
@@
sub repos_server_url () {
my $url = access_giturl();
}
my $url = access_giturl();
}
+sub pre_clone_dgit_repos_server () {
+ no_local_git_cfg();
+}
sub cmd_clone_dgit_repos_server {
badusage "need destination argument" unless @ARGV==1;
my ($destdir) = @ARGV;
sub cmd_clone_dgit_repos_server {
badusage "need destination argument" unless @ARGV==1;
my ($destdir) = @ARGV;
@@
-6397,6
+6420,9
@@
sub cmd_clone_dgit_repos_server {
exec @cmd or fail "exec git clone: $!\n";
}
exec @cmd or fail "exec git clone: $!\n";
}
+sub pre_print_dgit_repos_server_source_url () {
+ no_local_git_cfg();
+}
sub cmd_print_dgit_repos_server_source_url {
badusage "no arguments allowed to dgit print-dgit-repos-server-source-url"
if @ARGV;
sub cmd_print_dgit_repos_server_source_url {
badusage "no arguments allowed to dgit print-dgit-repos-server-source-url"
if @ARGV;
@@
-6778,7
+6804,6
@@
if ($ENV{$fakeeditorenv}) {
parseopts();
check_env_sanity();
parseopts();
check_env_sanity();
-git_slurp_config();
print STDERR "DRY RUN ONLY\n" if $dryrun_level > 1;
print STDERR "DAMP RUN - WILL MAKE LOCAL (UNSIGNED) CHANGES\n"
print STDERR "DRY RUN ONLY\n" if $dryrun_level > 1;
print STDERR "DAMP RUN - WILL MAKE LOCAL (UNSIGNED) CHANGES\n"
@@
-6793,6
+6818,8
@@
$cmd =~ y/-/_/;
my $pre_fn = ${*::}{"pre_$cmd"};
$pre_fn->() if $pre_fn;
my $pre_fn = ${*::}{"pre_$cmd"};
$pre_fn->() if $pre_fn;
+git_slurp_config();
+
my $fn = ${*::}{"cmd_$cmd"};
$fn or badusage "unknown operation $cmd";
$fn->();
my $fn = ${*::}{"cmd_$cmd"};
$fn or badusage "unknown operation $cmd";
$fn->();