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: clean: Change matcbing of git to regexps
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index c62d1cc1e031c6e1177e84df7e5009e8d5ea3453..37d38618572b90ce5514941021ff00355059dc48 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-132,8
+132,8
@@
our (@mergechanges) = qw(mergechanges -f);
our (@gbp_build) = ('');
our (@gbp_pq) = ('gbp pq');
our (@changesopts) = ('');
our (@gbp_build) = ('');
our (@gbp_pq) = ('gbp pq');
our (@changesopts) = ('');
-our (@pbuilder) = ("sudo -E pbuilder");
-our (@cowbuilder) = ("sudo -E cowbuilder");
+our (@pbuilder) = ("sudo -E pbuilder"
,"--no-source-only-changes"
);
+our (@cowbuilder) = ("sudo -E cowbuilder"
,"--no-source-only-changes"
);
our %opts_opt_map = ('dget' => \@dget, # accept for compatibility
'curl' => \@curl,
our %opts_opt_map = ('dget' => \@dget, # accept for compatibility
'curl' => \@curl,
@@
-2197,6
+2197,12
@@
sub check_for_vendor_patches () {
__ "(nominal) distro being accessed");
}
__ "(nominal) distro being accessed");
}
+sub check_bpd_exists () {
+ stat $buildproductsdir
+ or fail f_ "build-products-dir %s is not accessible: %s\n",
+ $buildproductsdir, $!;
+}
+
sub generate_commits_from_dsc () {
# See big comment in fetch_from_archive, below.
# See also README.dsc-import.
sub generate_commits_from_dsc () {
# See big comment in fetch_from_archive, below.
# See also README.dsc-import.
@@
-3062,6
+3068,7
@@
END
}
sub fetch_from_archive () {
}
sub fetch_from_archive () {
+ check_bpd_exists();
ensure_setup_existing_tree();
# Ensures that lrref() is what is actually in the archive, one way
ensure_setup_existing_tree();
# Ensures that lrref() is what is actually in the archive, one way
@@
-3758,10
+3765,13
@@
sub clone ($) {
}
printdebug "clone main body\n";
}
printdebug "clone main body\n";
- canonicalise_suite();
- my $hasgit = check_for_git();
mkdir $dstdir or fail f_ "create \`%s': %s", $dstdir, $!;
changedir $dstdir;
mkdir $dstdir or fail f_ "create \`%s': %s", $dstdir, $!;
changedir $dstdir;
+ check_bpd_exists();
+
+ canonicalise_suite();
+ my $hasgit = check_for_git();
+
runcmd @git, qw(init -q);
record_maindir();
setup_new_tree();
runcmd @git, qw(init -q);
record_maindir();
setup_new_tree();
@@
-6259,9
+6269,9
@@
sub clean_tree () {
runcmd_ordryrun_local @cmd;
clean_tree_check_git_wd __
"tree contains uncommitted files (after running rules clean)";
runcmd_ordryrun_local @cmd;
clean_tree_check_git_wd __
"tree contains uncommitted files (after running rules clean)";
- } elsif ($cleanmode
eq 'git'
) {
+ } elsif ($cleanmode
=~ m{^git(?!-)}
) {
runcmd_ordryrun_local @git, qw(clean -xdf);
runcmd_ordryrun_local @git, qw(clean -xdf);
- } elsif ($cleanmode
eq 'git-ff'
) {
+ } elsif ($cleanmode
=~ m{^git-ff}
) {
runcmd_ordryrun_local @git, qw(clean -xdff);
} elsif ($cleanmode =~ m{^check}) {
clean_tree_check();
runcmd_ordryrun_local @git, qw(clean -xdff);
} elsif ($cleanmode =~ m{^check}) {
clean_tree_check();
@@
-6303,6
+6313,7
@@
sub build_prep_early () {
sub build_prep ($) {
my ($wantsrc) = @_;
build_prep_early();
sub build_prep ($) {
my ($wantsrc) = @_;
build_prep_early();
+ check_bpd_exists();
if (!building_source_in_playtree() || ($wantsrc & WANTSRC_BUILDER)) {
# Clean the tree because we're going to use the contents of
# $maindir. (We trying to include dirty changes in the source
if (!building_source_in_playtree() || ($wantsrc & WANTSRC_BUILDER)) {
# Clean the tree because we're going to use the contents of
# $maindir. (We trying to include dirty changes in the source
@@
-7192,6
+7203,12
@@
sub parseopts () {
($om = $opts_opt_map{$1})) {
push @ropts, $_;
push @$om, $2;
($om = $opts_opt_map{$1})) {
push @ropts, $_;
push @$om, $2;
+ } elsif (m/^--([-0-9a-z]+)\!:(.*)/s &&
+ !$opts_opt_cmdonly{$1} &&
+ ($om = $opts_opt_map{$1})) {
+ push @ropts, $_;
+ my $cmd = shift @$om;
+ @$om = ($cmd, grep { $_ ne $2 } @$om);
} elsif (m/^--(gbp|dpm)$/s) {
push @ropts, "--quilt=$1";
$quilt_mode = $1;
} elsif (m/^--(gbp|dpm)$/s) {
push @ropts, "--quilt=$1";
$quilt_mode = $1;