grim/pidgin
Clone
Summary
Browse
Changes
Graph
Add Mohammed Sadiq to the COPYRIGHT file after review request 1123
release-2.x.y
2021-11-05, Gary Kramlich
930e4fb71321
file is
Executable
Add Mohammed Sadiq to the COPYRIGHT file after review request 1123
#!/bin/bash -eu
# This uses bash for the <() syntax.
# TODO: Is there a way we can ignore files with only fuzzy-string changes?
# These are the languages which are maintained in Transifex.
transifex_languages
=
$(
ls
*.po
|
cut
-d.
-f1
|
xargs
echo
)
if
!
which
tx
>
/dev/null
then
cat
>
&
2
<< EOF
You must install the Transifex command-line client:
http://docs.transifex.com/client/setup/
EOF
exit
1
fi
cat
<< EOF
This script assumes your working tree is clean, at least in the po directory.
It pulls the translations from Transifex, works out what has changed, and
COMMITS intltool-update changes without prompting. It then leaves the
remaining changes for manual review and committing.
Ctrl-C now to abort...
EOF
sleep
10
if
[
-d
po
]
then
cd
po
fi
changed_files
=
commitable_files
=
for
i
in
$transifex_languages
do
if
[
-e
$i
.po
]
then
cp
$i
.po
$i
.po.original
XGETTEXT_ARGS
=
--no-location
intltool-update
$i
cp
$i
.po
$i
.po.cleaned
fi
tx
pull
-f
-l
$i
XGETTEXT_ARGS
=
--no-location
intltool-update
$i
if
[
-e
$i
.po.cleaned
]
then
if
cmp
-s
<
(
grep
^msg
$i
.po.cleaned
)
<
(
grep
^msg
$i
.po
)
then
# There were no actual changes.
mv
$i
.po.original
$i
.po
else
# There were changes.
mv
$i
.po
$i
.po.transifex
changed_files
=
"
$changed_files
$i
.po"
if
cmp
-s
<
(
grep
^msg
$i
.po.original
)
<
(
grep
^msg
$i
.po.cleaned
)
then
# The cleaning produced no actual changes; undo the cleaning.
mv
$i
.po.original
$i
.po
else
# The cleaning produced changes; leave it for committing.
mv
$i
.po.cleaned
$i
.po
commitable_files
=
"
$commitable_files
$i
.po"
fi
fi
fi
rm
-f
$i
.po.original
$i
.po.cleaned
done
# Commit cleaned versions of the changed files.
if
[
-n
"
$commitable_files
"
]
then
hg
commit
-u
"Pidgin Translators <translators@pidgin.im>"
\
-m
"Clean changed translations"
$commitable_files
fi
# Leave the cleaned Transifex versions in place, ready for committing.
for
i
in
$changed_files
do
mv
$i
.transifex
$i
done