create-pull-request: rewrite known private URLs to public URLs

Rather than requiring users to have public remotes and private remotes when
their development remotes are ssh based (and therefor unsuitable for a pull
request URL), rewrite the ones we know about from ssh://git@ to git://.

As the remote url vary from remote to remote, do the REMOTE_REPO regex per
remote.

With this infrastructure in place, future patches can augment the list of
known remotes for things like Git Hub, Gitorious, kernel.org, etc.

(From OE-Core rev: 3c34975414f1184a35ad8b6ca8a5303786f3475f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Acked-by: Joshua Lock <josh@linux.intel.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Tom Rini <tom_rini@mentor.com>
Cc: Tom Rini <tom_rini@mentor.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Darren Hart 2011-05-13 12:21:57 -07:00 committed by Richard Purdie
parent 65c2d1eb82
commit 5ad2ebadfb
1 changed files with 13 additions and 1 deletions

View File

@ -65,7 +65,19 @@ while getopts "b:hi:m:o:p:r:s:u:" OPT; do
echo "ERROR: git config failed to find a url for '$REMOTE'"
exit 1
fi
REMOTE_REPO=$(echo $REMOTE_URL | sed "s#.*/\(.*\)#\1#")
# Rewrite known private URLs to public URLs
# Determine the repository name for use in the WEB_URL later
case "$REMOTE_URL" in
ssh://git@git.pokylinux.org*)
REMOTE_REPO=$(echo $REMOTE_URL | sed "s#.*/\(.*\)#\1#")
REMOTE_URL=${REMOTE_URL/'ssh://git@'/'git://'}
;;
ssh://git@git.yoctoproject.org*)
REMOTE_REPO=$(echo $REMOTE_URL | sed "s#.*/\(.*\)#\1#")
REMOTE_URL=${REMOTE_URL/"ssh://git@"/"git://"}
;;
esac
# The .git suffix is optional in the URL, drop in for the REPO
REMOTE_REPO=${REMOTE_REPO%.git}
;;