Mercurial > hg > anonet-resdb
changeset 1197:e083c616cf04 draft
tweak update-git-remotes script
author | cathugger <cathugger@cock.li> |
---|---|
date | Fri, 10 Mar 2017 14:28:42 +0000 |
parents | 41dd98da798b |
children | 93f2650b65c0 |
files | scripts/update-git-remotes |
diffstat | 1 files changed, 22 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/update-git-remotes Fri Mar 10 13:19:55 2017 +0000 +++ b/scripts/update-git-remotes Fri Mar 10 14:28:42 2017 +0000 @@ -12,22 +12,33 @@ GIT_REPO=./.git GIT_REMOTES_DIR=$GIT_REPO/refs/remotes -for u in `ls -1 $USR_DB_DIR`; do +for u in `ls -1 "$USR_DB_DIR"`; do git_url_file="$USR_DB_DIR/$u/git" - if [ -f $git_url_file ]; then - git_url=`cat $git_url_file` + if [ -f "$git_url_file" ]; then + git_url=`cat "$git_url_file"` git_remote_name="anonet_$u" - if [ -d $GIT_REMOTES_DIR/$git_remote_name ]; then - # The remote already exists; - # TODO: Update it if it has changed. - echo "skipping $u" >&2 - + if [ -d "$GIT_REMOTES_DIR/$git_remote_name" ]; then + if [ x"$git_url" != x`git remote get-url "$git_remote_name"` ]; then + echo "changing $u" >&2 + git remote set-url "$git_remote_name" "$git_url" + else + # The remote already exists and is the same + echo "skipping $u" >&2 + fi else - git remote add -t master -m master $git_remote_name $git_url - + echo "adding $u" >&2 + git remote add -t master -m master "$git_remote_name" "$git_url" fi - fi done + +for r in `ls -1 "$GIT_REMOTES_DIR" | grep '^anonet_'`; do + u=`echo $r | sed 's/^anonet_//'` + if [ ! -f "$USR_DB_DIR/$u/git" ]; then + echo "deleting $u" >&2 + git remote rm "$r" + rm -rf "$GIT_REMOTES_DIR/$r" + fi +done