chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New --ignore-dirty option to skip noncritical check. Closes: #720895.
[dgit.git]
/
dgit
diff --git
a/dgit
b/dgit
index f582be0e8ee39cd1a0e00275ec6c78d76c2100c3..02acfa7fac5be920236d18cc4fdd51f101be3901 100755
(executable)
--- a/
dgit
+++ b/
dgit
@@
-36,6
+36,7
@@
our $sign = 1;
our $dryrun = 0;
our $changesfile;
our $new_package = 0;
our $dryrun = 0;
our $changesfile;
our $new_package = 0;
+our $ignoredirty = 0;
our $existing_package = 'dpkg';
our $cleanmode = 'dpkg-source';
our $existing_package = 'dpkg';
our $cleanmode = 'dpkg-source';
@@
-763,6
+764,7
@@
sub pull () {
}
sub check_not_dirty () {
}
sub check_not_dirty () {
+ return if $ignoredirty;
my @cmd = (@git, qw(diff --quiet HEAD));
printcmd(\*DEBUG,"+",@cmd) if $debug>0;
$!=0; $?=0; system @cmd;
my @cmd = (@git, qw(diff --quiet HEAD));
printcmd(\*DEBUG,"+",@cmd) if $debug>0;
$!=0; $?=0; system @cmd;
@@
-984,7
+986,10
@@
sub cmd_push {
git_fetch_us();
}
if (fetch_from_archive()) {
git_fetch_us();
}
if (fetch_from_archive()) {
- is_fast_fwd(lrref(), 'HEAD') or die;
+ is_fast_fwd(lrref(), 'HEAD') or
+ fail "dgit push: HEAD is not a descendant".
+ " of the archive's version.\n".
+ "$us: To overwrite it, use git-merge -s ours ".lrref().".";
} else {
$new_package or
fail "package appears to be new in this suite;".
} else {
$new_package or
fail "package appears to be new in this suite;".
@@
-1190,6
+1195,8
@@
sub parseopts () {
$cleanmode = $1;
} elsif (m/^--clean=(.*)$/s) {
badusage "unknown cleaning mode \`$1'";
$cleanmode = $1;
} elsif (m/^--clean=(.*)$/s) {
badusage "unknown cleaning mode \`$1'";
+ } elsif (m/^--ignore-dirty$/s) {
+ $ignoredirty = 1;
} else {
badusage "unknown long option \`$_'";
}
} else {
badusage "unknown long option \`$_'";
}