diff options
Diffstat (limited to 'trunk/tool/ifchange')
-rwxr-xr-x | trunk/tool/ifchange | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/trunk/tool/ifchange b/trunk/tool/ifchange new file mode 100755 index 0000000000..544513ad15 --- /dev/null +++ b/trunk/tool/ifchange @@ -0,0 +1,17 @@ +#!/bin/sh +# usage: ifchange target temporary + +target="$1" +temp="$2" +if [ "$temp" = - ]; then + temp="tmpdata$$.tmp~" + cat > "$temp" || exit $? + trap 'rm -f "$temp"' 0 +fi +if cmp "$target" "$temp" >/dev/null 2>&1; then + echo "$target unchanged" + rm -f "$temp" +else + echo "$target updated" + mv -f "$temp" "$target" +fi |