From 7f31a766f71a64ad658a337e0bd14aa9282c2c29 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 22 Feb 2007 10:16:28 +0000 Subject: Resolve sorted files before use. Fail on error (and avoid diffs being treated as errors). --- savelocaltweaks | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/savelocaltweaks b/savelocaltweaks index a4750ae..4f0bec5 100755 --- a/savelocaltweaks +++ b/savelocaltweaks @@ -1,6 +1,6 @@ #!/bin/sh -#set -e +set -e basedir="/etc" targetdir="$(mktemp -td localtweaks.XXXXXX)" @@ -33,7 +33,8 @@ if [ -d "$(dirname "$excludefile")" ] && [ -r "$excludefile" ]; then fi # process all files once each -for file in $(for x in $files; do echo $x; done | uniq | sort); do +files="$(for x in $files; do echo $x; done | uniq | sort)" +for file in $files; do # file were chosen based on backups - it may not exist itelf [ -s "$basedir/$file" ] || continue @@ -56,7 +57,7 @@ for file in $(for x in $files; do echo $x; done | uniq | sort); do # Only diff against existing and non-empty files. if [ -n "$ext" ] && [ -s "$basedir/$file$ext" ]; then - diff -ruN "$basedir/$file$ext" "$basedir/$file" > "$targetdir/$basedir/$file.diff" + diff -ruN "$basedir/$file$ext" "$basedir/$file" > "$targetdir/$basedir/$file.diff" || [ $? -lt 2 ] chown --reference="$basedir/$file" "$targetdir/$basedir/$file.diff" chmod --reference="$basedir/$file" "$targetdir/$basedir/$file.diff" chmod a-x "$targetdir/$basedir/$file.diff" -- cgit v1.2.3