summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--quilt/scripts/backup-files.in15
1 files changed, 5 insertions, 10 deletions
diff --git a/quilt/scripts/backup-files.in b/quilt/scripts/backup-files.in
index bff2b72..b9578c6 100644
--- a/quilt/scripts/backup-files.in
+++ b/quilt/scripts/backup-files.in
@@ -60,19 +60,17 @@ ensure_nolinks() {
backup() {
local file="$1"
local backup="${OPT_PREFIX}${file}"
+ local dir
- if [ -e "$backup" ]; then
- rm "$backup"
- else
- mkdir -p "$(dirname "$backup")"
- fi
+ dir=$(dirname "$backup")
+ [ -d "$dir" ] || mkdir -p "$dir"
if [ ! -e "$file" ]; then
$ECHO "New file $file"
- touch "$backup"
+ : > "$backup"
else
$ECHO "Copying $file"
- if [ -n "$OPT_NOLINKS" -a "$(stat @STAT_HARDLINK@ "$file")" = "1" ]; then
+ if [ -n "$OPT_NOLINKS" -a "$(stat @STAT_HARDLINK@ "$file")" = 1 ]; then
cp -p "$file" "$backup"
else
ln "$file" "$backup" 2> /dev/null || cp -p "$file" "$backup"
@@ -80,9 +78,6 @@ backup() {
ensure_nolinks "$file"
fi
fi
- if [ -n "$OPT_TOUCH" ]; then
- touch "$backup"
- fi
fi
}