30 lines
704 B
Bash
Executable File
30 lines
704 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Apply transformation to multiple revisions
|
|
# Usage: jj-batch-desc <SED_SCRIPT_FILE> <REV1> [REV2...]
|
|
# Example: jj-batch-desc /tmp/replacements.sed abc xyz mno
|
|
|
|
set -euo pipefail
|
|
|
|
if [[ $# -lt 2 ]]; then
|
|
echo "Usage: jj-batch-desc <SED_SCRIPT_FILE> <REV1> [REV2...]" >&2
|
|
exit 1
|
|
fi
|
|
|
|
sed_script="$1"
|
|
shift
|
|
|
|
if [[ ! -f "$sed_script" ]]; then
|
|
echo "Error: sed script not found: $sed_script" >&2
|
|
exit 1
|
|
fi
|
|
|
|
for rev in "$@"; do
|
|
echo "Processing $rev..."
|
|
tmpfile="/tmp/jj_desc_${rev}_$$.txt"
|
|
jj log -r "$rev" -n1 --no-graph -T description > "$tmpfile"
|
|
sed -f "$sed_script" "$tmpfile" | jj desc -r "$rev" --stdin
|
|
rm -f "$tmpfile"
|
|
done
|
|
|
|
echo "✅ Processed $# revision(s)"
|