create-pull-request: generalize the repository URL parsing
cover create-pull-request: generalize the repository URL parsing
I noticed the REMOTE_REPO was not being properly parsed by the create-pull-request script in a pull recently sent from Khem. This should address the issue with the added benefit of treating each of pokylinux, yoctoproject, openembedded, and github with a single regex for determining REMOTE_REPO and public'ifying the URL. Most other repositories are also likely covered by the new regex for generating the public URL. Specific cases are still obviously required for generating a browsable web URL.
The following changes since commit ed8646e257ad84b017e5295b892eeb44bcef0483:
*pull-request: add copyright, license, and descriptions (2011-05-16 15:18:20 -0700)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib dvhart/git-pull
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dvhart/git-pull
Darren Hart (1):
create-pull-request: generalize the repository URL parsing
scripts/create-pull-request | 29 ++++++++++++----------------- 1 files changed, 12 insertions(+), 17 deletions(-)
PATCH 1/1 create-pull-request: generalize the repository URL parsing
The existing REMOTE_URL and REMOTE_REPO parsing made assumptions regarding the git URL format used for the known repository types. In fact, both of these ssh URL formats are valid for all the known repositories. Specifically:
ssh://git@server/repository/path
git@server:repository/path
Generalize the parsing to work with each of these for all push URLs matching *@*. Tested with the following URLs:
ssh://[email protected]/poky-contrib
ssh://[email protected]/poky-contrib.git
[email protected]:poky-contrib
[email protected]:poky-contrib.git
--- scripts/create-pull-request | 29 ++++++++++++----------------- 1 files changed, 12 insertions(+), 17 deletions(-)
scripts/create-pull-request +12 -17
@@ -97,28 +97,22 @@ while getopts "b:chi:m:o:p:r:s:u:" OPT; do exit 1 fi - # Rewrite known private URLs to public URLs + # Rewrite private URLs to public URLs # Determine the repository name for use in the WEB_URL later case "$REMOTE_URL" in - ssh://[email protected]*) - REMOTE_REPO=$(echo $REMOTE_URL | sed "s#.*/\(.*\)#\1#") - REMOTE_URL=${REMOTE_URL/'ssh://git@'/'git://'} + *@*) + USER_RE="[A-Za-z0-9_.@][A-Za-z0-9_.@-]*\$\?" + PROTO_RE="[a-z][a-z]*://" + GIT_RE="\(^\($PROTO_RE\)\?$USER_RE@\)\([^:/]*\)[:/]\(.*\)" + REMOTE_URL=${REMOTE_URL%.git} + REMOTE_REPO=$(echo $REMOTE_URL | sed "s#$GIT_RE#\4#") + REMOTE_URL=$(echo $REMOTE_URL | sed "s#$GIT_RE#git://\3/\4#") ;; - ssh://[email protected]*) - REMOTE_REPO=$(echo $REMOTE_URL | sed "s#.*/\(.*\)#\1#") - REMOTE_URL=${REMOTE_URL/"ssh://git@"/"git://"} - ;; - *ssh://[email protected]*) - REMOTE_REPO=$(echo $REMOTE_URL | sed "s#.*/\(.*\)#\1#") - REMOTE_URL=${REMOTE_URL/"ssh://git@"/"git://"} - ;; - [email protected]:*) - REMOTE_REPO=$(echo $REMOTE_URL | sed 's#.*:\(.*\)\(\.git\)$#\1#') - REMOTE_URL=${REMOTE_URL/"[email protected]:"/"git://github.com/"} + *) + echo "WARNING: Unrecognized remote URL: $REMOTE_URL" + echo " The pull and browse URLs will likely be incorrect" ;; esac - # The .git suffix is optional in the URL, drop in for the REPO - REMOTE_REPO=${REMOTE_REPO%.git} ;; esac done
@@ -134,6 +128,7 @@ fi # Set WEB_URL from known remotes +WEB_URL="" case "$REMOTE_URL" in *git.yoctoproject.org*) WEB_URL="http://git.yoctoproject.org/cgit.cgi/$REMOTE_REPO/log/?h=$BRANCH"
Signature · 1 line
1.7.1
Saul Wold
AppliedQuoted 19 lines · Darren Hart
I noticed the
REMOTE_REPOwas not being properly parsed by the create-pull-request script in a pull recently sent from Khem. This should address the issue with the added benefit of treating each of pokylinux, yoctoproject, openembedded, and github with a single regex for determiningREMOTE_REPOand public'ifying the URL. Most other repositories are also likely covered by the new regex for generating the public URL. Specific cases are still obviously required for generating a browsable web URL.The following changes since commit
ed8646e257ad84b017e5295b892eeb44bcef0483:*pull-request: add copyright, license, and descriptions (2011-05-16 15:18:20 -0700)are available in the git repository at:
git://git.pokylinux.org/poky-contribdvhart/git-pull
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dvhart/git-pullDarren Hart (1):
create-pull-request: generalize the repository URL parsing
Quoted 9 lines
scripts/create-pull-request | 29 ++++++++++++----------------- 1 files changed, 12 insertions(+), 17 deletions(-)_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Merged into oe-core
Thanks
Sau!