X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~cjwatson/git?p=bin.git;a=blobdiff_plain;f=rosetta-merge-all;h=6740bbcff9e0e9eb5348ed5bc084fa6039c57d0c;hp=98627a2f7ec6fa89185ded3e5376d7077ab709ed;hb=3dc97c2465315fa4952e9a2e23dd68f2982a723d;hpb=1ddf5a972595fcf9b788bb5ef479b36554958ee3 diff --git a/rosetta-merge-all b/rosetta-merge-all index 98627a2..6740bbc 100755 --- a/rosetta-merge-all +++ b/rosetta-merge-all @@ -1,7 +1,48 @@ #! /bin/sh -if [ "$1" = --apply ]; then - shift - for x in *.po; do rosetta-merge --apply $1 ${x%.*}; done + +APPLY=false + +usage () { + [ "$1" = 0 ] || exec >&2 + echo "Usage: $0 [--apply] [--keep-old] [--prefix PREFIX] SOURCE" + exit "$1" +} + +die_getopt () { + echo "getopt failed" >&2 + exit 1 +} + +parse_opts () { + eval set -- "$(getopt -o '' -l apply,keep-old,prefix:,help -- "$@")" + while :; do + case $1 in + --apply) + APPLY=: + shift + ;; + --keep-old) + shift + ;; + --prefix) + shift 2 + ;; + --help) + usage 0 + shift + ;; + --) shift; break ;; + *) die_getopt ;; + esac + done +} + +[ "$1" ] || usage 1 + +parse_opts "$@" + +if $APPLY; then + for x in *.po; do rosetta-merge "$@" ${x%.*}; done else - for x in *.po; do rosetta-merge $1 ${x%.*} | view -; done + for x in *.po; do rosetta-merge "$@" ${x%.*} | view -; done fi