From: Keith Packard Date: Wed, 12 Feb 2025 06:00:59 +0000 (-0800) Subject: Add 'diff-pref' tool to show preferred-parts.ods differences X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=61c60e3ff8756908b25d5442b376acf0e015f4bd;p=hw%2Faltusmetrum Add 'diff-pref' tool to show preferred-parts.ods differences Converts git versions to csv and diffs those Usage: diff-pref diff working copy and HEAD diff-pref diff working copy and diff-prev diff two revisions Signed-off-by: Keith Packard --- diff --git a/bin/diff-pref b/bin/diff-pref new file mode 100755 index 0000000..394175a --- /dev/null +++ b/bin/diff-pref @@ -0,0 +1,37 @@ +#!/bin/bash + +AM=`dirname "$0"`/.. + +case $# in + 0) + echo "Usage: $0 {ref-b}" 1>&2 + exit 1 + ;; + 1) + ref_a="$1" + ref_b="preferred-parts.ods" + ;; + 2) + ref_a="$1" + ref_b="$2" + ;; +esac + +TMP_A=`mktemp -d -p .` +TMP_B=`mktemp -d -p .` + +trap "rm -r '$TMP_A' '$TMP_B'" 0 1 15 + +(cd "$AM" && git show "$ref_a":preferred-parts.ods) > "$TMP_A"/preferred-parts.ods || (echo "$ref_a: show failed"; exit 1) +libreoffice --headless --convert-to csv "$TMP_A"/preferred-parts.ods --outdir "$TMP_A" >&/dev/null || (echo "$ref_a: convert failed"; exit 1) +case "$ref_b" in + preferred-parts.ods) + libreoffice --headless --convert-to csv "$AM"/preferred-parts.ods --outdir "$TMP_B" >&/dev/null || (echo "$ref_b: convert failed"; exit 1) + ;; + *) + (cd "$AM" && git show "$ref_b":preferred-parts.ods) > $TMP_B/preferred-parts.ods || (echo "$ref_b: show failed"; exit 1) + libreoffice --headless --convert-to csv "$TMP_B"/preferred-parts.ods --outdir "$TMP_B" >&/dev/null || (echo "$ref_b: convert failed"; exit 1) + ;; +esac + +diff --label "$ref_a" --label "$ref_b" -u "$TMP_A"/preferred-parts.csv "$TMP_B"/preferred-parts.csv