From 6ddf787d9e52492069a5b4c3c2148c1e2ea80f18 Mon Sep 17 00:00:00 2001 From: Sebastian Kuzminsky Date: Sun, 20 Jul 2025 12:53:44 -0600 Subject: [PATCH] add a tool to migrate tags from files to dirs --- tools/update-tags-encoding | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 tools/update-tags-encoding diff --git a/tools/update-tags-encoding b/tools/update-tags-encoding new file mode 100755 index 0000000..87c5a5d --- /dev/null +++ b/tools/update-tags-encoding @@ -0,0 +1,35 @@ +#!/bin/bash +# +# Check out the `entomologist-data` branch in a temporary worktree. +# For each issue with a `tags` file: +# read + +set -e +#set -x + +WORKTREE_DIR=$(mktemp --directory) +git worktree add "${WORKTREE_DIR}" entomologist-data +pushd "${WORKTREE_DIR}" > /dev/null + +for ISSUE_ID in $(find . -maxdepth 1 -type d -regextype posix-extended -regex '\./[0-9a-f]{32}'); do + if ! [[ -f "${ISSUE_ID}/tags" ]]; then + continue + fi + + pushd "${ISSUE_ID}" > /dev/null + + echo "${ISSUE_ID} has tags:" + TAGS=$(cat tags) + git rm tags + mkdir tags + for TAG in ${TAGS}; do + touch "tags/${TAG}" + done + git add tags + #git commit -m "issue ${ISSUE_ID}: update tags to new format" + + popd > /dev/null +done + +popd > /dev/null +git worktree remove "${WORKTREE_DIR}"