diff options
Diffstat (limited to 'tools/git-tp-sync-man')
-rwxr-xr-x | tools/git-tp-sync-man | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tools/git-tp-sync-man b/tools/git-tp-sync-man new file mode 100755 index 0000000..8a4f34f --- /dev/null +++ b/tools/git-tp-sync-man @@ -0,0 +1,54 @@ +#!/bin/bash +# +# Based on tools/git-tp-sync. +# Copyright (C) 2007-2016 Karel Zak <kzak@redhat.com> +# +# TODO: merge git-tp-sync and git-tp-sync-man scripts. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +PROJECT="util-linux-man" +if [ -n "$1" ]; then + while (( "$#" )); do + if [ -n "$1" ]; then + rsync -Lrtvz rsync://translationproject.org/tp/latest/$PROJECT/$1.po po-man + fi + shift + done +else + rsync -Lrtvz rsync://translationproject.org/tp/latest/$PROJECT/ po-man +fi + +PO_NEW=$(git ls-files -o | gawk '/po-man\/[[:alpha:]_\-]*\.po/ { sub("po-man/", ""); print $0; }' | sort) +PO_MOD=$(git ls-files -m | gawk '/po-man\/[[:alpha:]_\-]*\.po/ { sub("po-man/", ""); print $0; }' | sort) + +function get_author { + echo $(gawk 'BEGIN { FS=": " } /Last-Translator/ { sub("\\\\n\"", ""); print $2 }' "$1") +} + +function do_commit { + local POFILE="$1" + local MSG="$2" + local AUTHOR=$(get_author "$POFILE") + + git commit --author "$AUTHOR" -m "$MSG" "$POFILE" +} + +for f in $PO_MOD; do + do_commit "po-man/$f" "po-man: update $f (from translationproject.org)" +done + +for f in $PO_NEW; do + git add "po-man/$f" + do_commit "po-man/$f" "po-man: add $f (from translationproject.org)" +done + |