From 72226cf8ee17c96e430e57e95bc56f787a80c517 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 13 Sep 2013 11:22:42 +0200 Subject: [PATCH] Nicer merging. --- .tx/merge-base | 2 +- tx.sh | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/.tx/merge-base b/.tx/merge-base index 0a00903ed..1af935744 100644 --- a/.tx/merge-base +++ b/.tx/merge-base @@ -1 +1 @@ -Fri Sep 13 11:00:37 CEST 2013 +Fri Sep 13 11:09:31 CEST 2013 diff --git a/tx.sh b/tx.sh index 212a036fc..fb03700a4 100644 --- a/tx.sh +++ b/tx.sh @@ -23,30 +23,27 @@ for f in common.*.po; do gnewfile=common.$lang.po if [ -f "$tcurfile" ]; then git show "$mergebase":"$gnewfile" > "$goldfile" - msgcat -s --no-location --strict "$tcurfile" | grep -v "^#" > "$tcurfile.sorted" - msgcat -s --no-location --strict "$goldfile" | grep -v "^#" > "$goldfile.sorted" - msgcat -s --no-location --strict "$gnewfile" | grep -v "^#" > "$gnewfile.sorted" - if diff -u "$goldfile.sorted" "$gnewfile.sorted" >/dev/null; then + msgmerge -F -U "$tcurfile" common.pot + msgmerge -F -U "$goldfile" common.pot + msgmerge -F -U "$gnewfile" common.pot + if diff -u "$goldfile" "$gnewfile" >/dev/null; then # no change on git, changed on tx only msgmerge -F -U "$tcurfile" common.pot cp "$tcurfile" "$gnewfile" else - if ! diff -u "$goldfile.sorted" "$gnewfile.sorted" | patch "$tcurfile.sorted"; then + if ! diff -u "$goldfile" "$gnewfile" | patch "$tcurfile"; then while :; do - vim -o "$tcurfile.sorted.rej" "$tcurfile.sorted" + vim -o "$tcurfile.rej" "$tcurfile" echo "OK?" read -r OK || exit 1 [ x"$OK" != x"y" ] || break done - rm -f "$tcurfile.sorted.rej" + rm -f "$tcurfile.rej" fi - mv "$tcurfile.sorted" "$tcurfile" msgmerge -F -U "$tcurfile" common.pot cp "$tcurfile" "$gnewfile" - rm "$goldfile.sorted" - rm "$gnewfile.sorted" - rm "$goldfile" fi + rm "$goldfile" else msgmerge -F -U "$gnewfile" common.pot cp "$gnewfile" "$tcurfile" -- 2.39.2