mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
pgit.sh clone: Support --create-remote-user-repos
Add support for --create-user-repos to pgit.sh. It controls whether or not personal remote repositories on janware.com are created when cloning from another user. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
9b85b3e8a6
commit
aed14fd480
1 changed files with 26 additions and 6 deletions
|
|
@ -110,10 +110,29 @@ clone()
|
|||
local login=$JANWARE_USER
|
||||
local projects="$PGIT_CLONE_PROJECTS"
|
||||
local ignore="$PGIT_IGNORE"
|
||||
local create_remote_user_repos=false
|
||||
|
||||
[ "$login" ] || login=`whoami`
|
||||
[ "$fromuser" ] || fromuser=`whoami`
|
||||
[ "$fromref" ] || fromref=master
|
||||
local git_srv_admin="$SSH $login@git.janware.com /opt/jw-build/bin/git-srv-admin.sh"
|
||||
|
||||
local opts
|
||||
opts=$(getopt -o C --long create-remote-user-repo -n clone -- "$@") || fatal "Failed to parse options $@"
|
||||
eval set -- "$opts"
|
||||
while [ "$1" != -- ]; do
|
||||
case "$1" in
|
||||
-c | --create-remote-user-repos)
|
||||
create_remote_user_repos=true
|
||||
;;
|
||||
*)
|
||||
fatal "Unknown option $1"
|
||||
;;
|
||||
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$projects" ]; then
|
||||
projects=`$git_srv_admin -u $fromuser -j list-personal-projects`
|
||||
[ "$?" != 0 ] && exit 1
|
||||
|
|
@ -156,12 +175,13 @@ clone()
|
|||
run_git clone ssh://$login@git.janware.com/srv/git/$fromuser/proj/$p
|
||||
run_git -C $p remote rename origin $remotename || fatal failed to rename remote in $p
|
||||
run_git -C $p remote set-url --push $remotename no_push
|
||||
if [ $create_remote_user_repos = true ]; then
|
||||
$git_srv_admin -u $login -j create-personal-project $p
|
||||
run_git -C $p remote add origin $pushurl
|
||||
run_git -C $p push --recurse-submodules=on-demand origin master
|
||||
$git_srv_admin -u $login -j update-descriptions $p
|
||||
run_git -C $p branch --set-upstream-to origin/master master
|
||||
# set +x
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
run_git -C $p submodule update --init --recursive || fatal git submodule update failed in $p
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue