scripts: Add `delete-remote-refs.sh`

Useful for deleting refs of a corrupted remote.
This commit is contained in:
Alexis Sellier 2023-04-15 00:15:02 +02:00
parent 56e41fadd9
commit d9dd28b347
No known key found for this signature in database
1 changed files with 28 additions and 0 deletions

28
scripts/delete-remote-refs.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/sh
set -e
if [ "$#" -lt 2 ]; then
printf "usage: %s <rid> <nid>\n" "$(basename "$0")"
exit 1
fi
RAD_HOME=${RAD_HOME:-"$HOME/.radicle"}
REPO=$1
REMOTE=$2
cd $RAD_HOME/storage/$1
refs=$(git for-each-ref --format="%(refname)")
pattern="refs/namespaces/$2/refs/*"
for ref in $refs; do
case "$ref" in
$pattern)
git update-ref -d "$ref"
printf 'Deleted %s\n' "$ref"
;;
esac
done
git gc