Signed-off-by: martin f. krafft <madduck@debian.org>
# target, and invokes tg-rmdir
#
# tg-rmdir: tries to remove debian/patches, but only if there are no
# target, and invokes tg-rmdir
#
# tg-rmdir: tries to remove debian/patches, but only if there are no
-# non-TopGit files under the directory.
+# non-TopGit files under the directory, the repository has
+# no uncommitted changes, and there are not quilt patches
+# applied.
# The heuristic is to find files that do not contain a line
# matchines /^tg:/, minus the series file. If any such files
# are found, an error occurs. Otherwise, the directory is
# The heuristic is to find files that do not contain a line
# matchines /^tg:/, minus the series file. If any such files
# are found, an error occurs. Otherwise, the directory is
tg-rmdir: __TG_FILES := $(shell find $(QUILT_PATCH_DIR) -type f -a -not -path \*/series \
| xargs grep -l '^tg:')
tg-rmdir:
tg-rmdir: __TG_FILES := $(shell find $(QUILT_PATCH_DIR) -type f -a -not -path \*/series \
| xargs grep -l '^tg:')
tg-rmdir:
+ QUILT_PATCHES=$(QUILT_PATCH_DIR) quilt pop -a
+ @if quilt applied >/dev/null 2>&1; then \
+ echo "E: there are applied quilt patches." >&2; \
+ echo "E: please unapply (pop) all patches and try again." >&2; \
+ false; \
+ fi
+ @if git status -am. >/dev/null; then \
+ echo "E: there are uncommitted changes in the working directory." >&2; \
+ echo "E: please commit or revert all changes." >&2; \
+ false; \
+ fi
# remove all files whose contents matches /^tg:/
rm -f $(__TG_FILES)
# remove the series file
# remove all files whose contents matches /^tg:/
rm -f $(__TG_FILES)
# remove the series file