From d9dd28b3474c90f32659077c43c116aad60bb994 Mon Sep 17 00:00:00 2001 From: Alexis Sellier Date: Sat, 15 Apr 2023 00:15:02 +0200 Subject: [PATCH] scripts: Add `delete-remote-refs.sh` Useful for deleting refs of a corrupted remote. --- scripts/delete-remote-refs.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 scripts/delete-remote-refs.sh diff --git a/scripts/delete-remote-refs.sh b/scripts/delete-remote-refs.sh new file mode 100755 index 00000000..74e265fa --- /dev/null +++ b/scripts/delete-remote-refs.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -e + +if [ "$#" -lt 2 ]; then + printf "usage: %s \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