view scripts/update-git-remotes @ 1212:0e5d4b7fc3d8 draft

add missing cidr entry, fix abslimit's IP entry, tweak bind autogen script
author cathugger <cathugger@cock.li>
date Thu, 19 Jul 2018 14:05:14 +0000
parents 2dcb03d77b03
children
line wrap: on
line source

#!/bin/sh
#
# Synchronizes git remotes with the user db
#

echo "checking database safety" >&2
if ! `dirname "$0"`/check_db_safety; then
 exit 1
fi

USR_DB_DIR=./db/usr
GIT_REPO=./.git
GIT_REMOTES_DIR=$GIT_REPO/refs/remotes

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"`
    git_remote_name="anonet_$u"

    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
      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