chiark / gitweb /
bsmtp-pull: drop -2; avoid connection sharing
[bin.git] / rosetta-merge-all
index a0d0a8ac864b812f040051ebec6464e310fe5503..6740bbcff9e0e9eb5348ed5bc084fa6039c57d0c 100755 (executable)
@@ -1,5 +1,47 @@
 #! /bin/sh
-if [ "$1" = --apply ]; then
+
+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 "$@" ${x%.*} | view -; done