X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=infra%2Fsubstitute;h=7ceafb3c6995459194c4cce403f2bd4f6f0af757;hb=0f3e8bb79bdfbe54fc31347d8f97edb9ddd23455;hp=112e0467055d83b131daa92ef3140239d54b8827;hpb=54850ae619300ca6cf8c53d285205ec179c6852f;p=ian-dotfiles.git diff --git a/infra/substitute b/infra/substitute index 112e046..7ceafb3 100755 --- a/infra/substitute +++ b/infra/substitute @@ -6,10 +6,12 @@ mode_subst () { } mode_diff () { + mode_subst diff -u $dot $bfn.new || test $? = 1 } mode_install () { + mode_subst mv -f $bfn.new $dot } @@ -20,8 +22,16 @@ subst|diff|install) ;; esac shift -for fn in templates/*.in; do +if [ $# = 0 ]; then + set templates/*.in +fi + +for fn in "$@"; do bfn=${fn%.in} + bfn=${bfn##*/} + bfn=${bfn#.} + bfn=templates/$bfn + fn=${bfn}.in dot=$HOME/.${bfn#*/} mode_$mode done