# HG changeset patch # User cathugger # Date 1489156122 0 # Node ID e083c616cf045188ca7f59d9f2d8617a42820cd1 # Parent 41dd98da798b5e283a59ade0f508c28c45d3c7a2 tweak update-git-remotes script diff -r 41dd98da798b -r e083c616cf04 scripts/update-git-remotes --- 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