summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--quilt/pop.in9
-rw-r--r--test/altered-series.test23
2 files changed, 26 insertions, 6 deletions
diff --git a/quilt/pop.in b/quilt/pop.in
index 24af309..16a4964 100644
--- a/quilt/pop.in
+++ b/quilt/pop.in
@@ -237,6 +237,13 @@ then
exit 2
fi
+# We will update the list of applied patches, which in turn will disable the
+# consistency check. Enable it again if needed.
+if [ -z "$opt_all" -a ! "$DB" -nt "$SERIES" ] && ! consistency_check
+then
+ rearm_check=1
+fi
+
for patch in $patches
do
if ! remove_patch "$patch"
@@ -257,6 +264,8 @@ else
# corner cases such as files added to a patch but not modified.
$QUILT_DIR/scripts/backup-files -L -s -B "$QUILT_PC/$patch/" -
printf $"Now at patch %s\n" "$(print_patch "$patch")"
+
+ [ -z "$rearm_check" ] || touch "$SERIES"
fi
### Local Variables:
### mode: shell-script
diff --git a/test/altered-series.test b/test/altered-series.test
index 5c231f3..3c1bf71 100644
--- a/test/altered-series.test
+++ b/test/altered-series.test
@@ -6,22 +6,24 @@ $ cat > patches/series
< 02.patch
< 03.patch
-$ quilt push -q
+$ quilt push -q 2
> Applying patch patches/01.patch
> Patch patches/01.patch does not exist; applied empty patch
-> Now at patch patches/01.patch
+> Applying patch patches/02.patch
+> Patch patches/02.patch does not exist; applied empty patch
+> Now at patch patches/02.patch
$ quilt series -v
-> = patches/01.patch
-> patches/02.patch
+> + patches/01.patch
+> = patches/02.patch
> patches/03.patch
# Touch the series file but preserve the order -> OK
$ touch patches/series
$ quilt series -v
-> = patches/01.patch
-> patches/02.patch
+> + patches/01.patch
+> = patches/02.patch
> patches/03.patch
# Change the order of the patch series -> complain
@@ -33,6 +35,15 @@ $ cat > patches/series
$ quilt series -v
> The series file no longer matches the applied patches. Please run 'quilt pop -a'.
+$ quilt pop
+> Patch patches/02.patch appears to be empty, removing
+>
+> Now at patch patches/01.patch
+
+# That wasn't enough, keep complaining
+$ quilt series -v
+> The series file no longer matches the applied patches. Please run 'quilt pop -a'.
+
$ quilt pop -a
> Patch patches/01.patch appears to be empty, removing
>