[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Quilt-dev] [PATCH 15/39] backup-files: Optimize restore
From: |
Jean Delvare |
Subject: |
[Quilt-dev] [PATCH 15/39] backup-files: Optimize restore |
Date: |
Sat, 19 Mar 2011 10:52:45 +0100 |
User-agent: |
quilt/0.48-17.1 |
Optimize restore:
* Don't call mkdir if we know the directory already exists.
* Don't try to optimize the -L case, quilt doesn't use it anyway and
the current optimization is broken.
* Move common code at the end of the function.
Signed-off-by: Jean Delvare <address@hidden>
Reviewed-by: Raphael Hertzog <address@hidden>
---
quilt/scripts/backup-files.in | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
--- a/quilt/scripts/backup-files.in
+++ b/quilt/scripts/backup-files.in
@@ -91,8 +91,6 @@ restore()
local file="$1"
local backup="${OPT_PREFIX}${file}"
- mkdir -p "$(dirname "$file")"
-
if [ ! -e "$backup" ]; then
return 1
fi
@@ -101,32 +99,28 @@ restore()
if [ -e "$file" ]; then
rm "$file"
fi
- if [ -z "$OPT_KEEP_BACKUP" ]; then
- rm "$backup"
- rmdir -p "${backup%/*}" 2> /dev/null || true
- fi
else
$ECHO "Restoring $file"
if [ -e "$file" ]; then
rm "$file"
+ else
+ mkdir -p "$(dirname "$file")"
fi
- if [ -n "$OPT_NOLINKS" -a "$(stat @STAT_HARDLINK@ "$backup")"
!= "1" ]; then
+ if [ -n "$OPT_NOLINKS" ]; then
cp -p "$backup" "$file"
else
ln "$backup" "$file" 2> /dev/null || cp -p "$backup"
"$file"
- if [ -n "$OPT_NOLINKS" ]; then
- ensure_nolinks "$file"
- fi
fi
- if [ -z "$OPT_KEEP_BACKUP" ]; then
- rm "$backup"
- rmdir -p "${backup%/*}" 2> /dev/null || true
- fi
if [ -n "$OPT_TOUCH" ]; then
touch "$file"
fi
fi
+
+ if [ -z "$OPT_KEEP_BACKUP" ]; then
+ rm "$backup"
+ rmdir -p "${backup%/*}" 2> /dev/null || true
+ fi
}
remove()
- [Quilt-dev] [PATCH 18/39] backup-files: Make input methods mutually exclusive, (continued)
- [Quilt-dev] [PATCH 18/39] backup-files: Make input methods mutually exclusive, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 25/39] backup-files: Separate function restore_all, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 26/39] backup-files: Quick exit when unlinking is not needed, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 13/39] backup-files: Split code to sparate functions, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 24/39] backup-files: Avoid negations, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 14/39] backup-files: Mass reindent, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 01/39] Make backup-files a shell script, Jean Delvare, 2011/03/19
- [Quilt-dev] [PATCH 22/39] backup-files: Check if backup exists, Jean Delvare, 2011/03/19
- [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 <=
- [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, 2011/03/19
- [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