summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--quilt/scripts/backup-files.in18
-rw-r--r--test/delete.test2
2 files changed, 7 insertions, 13 deletions
diff --git a/quilt/scripts/backup-files.in b/quilt/scripts/backup-files.in
index 00c8f96..72edf8a 100644
--- a/quilt/scripts/backup-files.in
+++ b/quilt/scripts/backup-files.in
@@ -193,21 +193,15 @@ while [ $I -lt ${#FILELIST[@]} ]; do
case "${FILELIST[$I]}" in
-)
- find "$OPT_PREFIX" -mindepth 1 \( -type f -o -type d \) -print 2>/dev/null \
+ # No backup directory? We're done
+ [ -d "$OPT_PREFIX" ] || exit 0
+
+ find "$OPT_PREFIX" -type f -print \
| while read
do
- if [ -d "$REPLY" ]
- then
- if ! [ -r "$REPLY" ] || ! [ -x "$REPLY" ]
- then
- echo "$REPLY: Permission denied"
- exit 1
- fi
- else
- process_file "${REPLY#$OPT_PREFIX}"
- fi
+ process_file "${REPLY#$OPT_PREFIX}"
done
- if [ $? != 0 ]; then
+ if [ ${PIPESTATUS[0]} != 0 ]; then
exit 1
fi
;;
diff --git a/test/delete.test b/test/delete.test
index 3dfc584..088b69a 100644
--- a/test/delete.test
+++ b/test/delete.test
@@ -77,7 +77,7 @@ Test the delete command.
$ quilt delete "test3"
> Removing patch %{P}test3
- > .pc/test3/dir: Permission denied
+ >~ find: `?\.pc/test3/dir'?: Permission denied
$ chmod a+rx .pc/test3/dir