scripts: Add `delete-remote-refs.sh`
Useful for deleting refs of a corrupted remote.
This commit is contained in:
parent
56e41fadd9
commit
d9dd28b347
|
|
@ -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
|
||||||
Loading…
Reference in New Issue