Simple tool to ease resolving fuzzies
ci/woodpecker/pr/woodpecker Pipeline was successful
Details
ci/woodpecker/pr/woodpecker Pipeline was successful
Details
This commit is contained in:
parent
a94ba446df
commit
8c1b42667e
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "usage: $0 PO_FILE"
|
||||
echo "Ease the correction of fuzzies inserted by merge commits"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Temp directory to filter files before display
|
||||
TMP_DIR=$(mktemp -d /tmp/fuzzy_diff.XXXXXX || exit 1)
|
||||
trap 'rm --force --recursive "$TMP_DIR"' EXIT
|
||||
|
||||
|
||||
PO_EDITOR=$(which poedit)
|
||||
DIFFTOOL=$(which meld)
|
||||
PO_FILE=$1
|
||||
|
||||
# search for revs where fuzzy was added or suppressed
|
||||
# and filter where commit message contains 'merge'
|
||||
FUZZY_REVS=$(git log --oneline -S '#, fuzzy' ${PO_FILE} | \
|
||||
grep -i 'merge' | \
|
||||
awk '{ print $1 }')
|
||||
|
||||
{PO_EDITOR} ${PO_FILE} 2>/dev/null &
|
||||
for sha in ${FUZZY_REVS} ; do
|
||||
# show the diff between parent rev and fuzzy rev
|
||||
|
||||
# simple version which includes all modifications
|
||||
#git difftool --no-prompt ${sha}^ ${sha} -- ${PO_FILE}
|
||||
|
||||
# filter files à la mode textconv
|
||||
git show ${sha}:${PO_FILE} | grep -v -e '^#:' -e '^"PO' > ${TMP_DIR}/right.po
|
||||
git show ${sha}^:${PO_FILE} | grep -v -e '^#:' -e '^"PO' > ${TMP_DIR}/left.po
|
||||
${DIFFTOOL} ${TMP_DIR}/left.po ${TMP_DIR}/right.po
|
||||
done
|
||||
|
||||
# clean up temp directory
|
||||
rm --force --recursive "$TMP_DIR"
|
||||
trap - EXIT
|
||||
|
Loading…
Reference in New Issue