diff options
Diffstat (limited to 'scripts/update-git-remotes')
| -rw-r--r-- | scripts/update-git-remotes | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/scripts/update-git-remotes b/scripts/update-git-remotes new file mode 100644 index 0000000..8048d54 --- /dev/null +++ b/scripts/update-git-remotes @@ -0,0 +1,33 @@ +#!/bin/sh +# +# Creates git remotes from the user db +# TODO: detect users' git address changes +# + +if ! ./scripts/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 +      # The remote already exists; +      # TODO: Update it if it has changed. +      echo "skipping $u" >&2 + +    else +      git remote add -t master -m master $git_remote_name $git_url + +    fi + +  fi +done | 
