diff options
-rw-r--r-- | quilt/scripts/backup-files.in | 15 |
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 } |