[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Quilt-dev] [PATCH 11/39] backup-files: Prefix must be a directory
From: |
Jean Delvare |
Subject: |
[Quilt-dev] [PATCH 11/39] backup-files: Prefix must be a directory |
Date: |
Sat, 19 Mar 2011 10:52:41 +0100 |
User-agent: |
quilt/0.48-17.1 |
Enforce the fact that the prefix must be a directory. This is what
quilt does, and enforcing it allows some code clean-ups.
Signed-off-by: Jean Delvare <address@hidden>
Reviewed-by: Raphael Hertzog <address@hidden>
---
quilt/scripts/backup-files.in | 27 +++++++--------------------
1 file changed, 7 insertions(+), 20 deletions(-)
--- a/quilt/scripts/backup-files.in
+++ b/quilt/scripts/backup-files.in
@@ -135,22 +135,6 @@ process_file() {
fi
}
-walk() {
- local path="$1"
- if [ ! -f "$path" ]; then
- return 0
- fi
-
- if [ "${path#$OPT_PREFIX}" == "$path" ]
- then
- # prefix does not match
- return 0
- fi
- path="${path#$OPT_PREFIX}"
-
- process_file "$path"
-}
-
ECHO=echo
declare -a FILELIST
@@ -192,6 +176,11 @@ if [ -z "$OPT_PREFIX" ]; then
exit 1
fi
+if [ "${OPT_PREFIX:(-1)}" != / ]; then
+ echo "Prefix must be a directory" >&2
+ exit 1
+fi
+
if [ -n "$OPT_FILE" ]; then
cat "$OPT_FILE" \
| while read nextfile; do
@@ -204,9 +193,7 @@ while [ $I -lt address@hidden ]; do
case "${FILELIST[$I]}" in
-)
- path="${OPT_PREFIX%/*}"
-
- find "$path" -mindepth 1 \( -type f -o -type d \) -print
2>/dev/null \
+ find "$OPT_PREFIX" -mindepth 1 \( -type f -o -type d \) -print
2>/dev/null \
| while read
do
if [ -d "$REPLY" ]
@@ -217,7 +204,7 @@ while [ $I -lt address@hidden ]; do
exit 1
fi
else
- walk "$REPLY"
+ process_file "${REPLY#$OPT_PREFIX}"
fi
done
if [ $? != 0 ]; then
- Re: [Quilt-dev] [PATCH 22/39] backup-files: Check if backup exists, (continued)
- [Quilt-dev] [PATCH 12/39] backup-files: Simplify find loop, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 15/39] backup-files: Optimize restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 23/39] backup-files: Optimize noop, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 27/39] backup-files: Remember the list of files, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 17/39] backup-files: Drop variable filelist, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 09/39] backup-files: Inline copy_file and link_or_copy_file, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 19/39] backup-files: Use internal implementation of dirname, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 33/39] backup-files: Try mass copy first on copy, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 05/39] Clean up legacy C code, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 11/39] backup-files: Prefix must be a directory,
Jean Delvare <=
- [Quilt-dev] [PATCH 30/39] backup-files: Skip first mkdir on restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 29/39] backup-files: Try mass link/copy first on restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 36/39] backup-files: Drop support for -L on restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 16/39] backup-files: Optimize backup, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 06/39] backup-files: Drop suffix option, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 28/39] backup-files: Separate lists for empty and non-empty files, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 10/39] backup-files: Speed up ensure_nolinks, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 35/39] backup-files: Inline restore_fast, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 20/39] backup-files: Batch mass restore, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 31/39] backup-files: New function for copy, Jean Delvare, 2011/03/19