pgit.sh fixed cloning from other users: Pushurl and creation of own repo

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2016-11-26 11:32:47 +00:00
commit e5bad17e18

View file

@ -58,8 +58,9 @@ clone()
local projects="$PGIT_CLONE_PROJECTS"
[ "$login" ] || login=`whoami`
[ "$fromuser" ] || fromuser=`whoami`
local git_srv_admin="$SSH git.jannet.de /opt/ytools/bin/git-srv-admin.sh"
if [ -z "$projects" ]; then
projects=`$SSH git.jannet.de /opt/ytools/bin/git-srv-admin.sh -u $fromuser -j list-personal-projects`
projects=`$git_srv_admin -u $fromuser -j list-personal-projects`
[ "$?" != 0 ] && exit 1
fi
set -e
@ -69,9 +70,23 @@ clone()
continue
}
marker "cloning $p"
git clone ssh://$login@git.jannet.de/srv/git/$fromuser/proj/$p
git -C $p submodule init || fatal git submodule init failed in `pwd`
git -C $p submodule update || fatal git submodule update failed in `pwd`
local pullurl=ssh://$login@git.jannet.de/srv/git/$fromuser/proj/$p
local pushurl=ssh://$login@git.jannet.de/srv/git/$login/proj/$p
if [ "$fromuser" = "$login" ]; then
git clone ssh://$login@git.jannet.de/srv/git/$fromuser/proj/$p
git -C $p submodule init || fatal git submodule init failed in `pwd`
git -C $p submodule update || fatal git submodule update failed in `pwd`
else
set -x
$git_srv_admin -u $login -j create-personal-project $p
git clone ssh://$login@git.jannet.de/srv/git/$fromuser/proj/$p
git -C $p remote rename origin $fromuser || fatal failed to rename remote in `pwd`
git -C $p remote set-url --push $fromuser no_push
git -C $p remote add origin $pushurl
git -C $p submodule init || fatal git submodule init failed in `pwd`
git -C $p submodule update || fatal git submodule update failed in `pwd`
set +x
fi
done
)}