Atlassian Stash使用repo URL以
的形式进行克隆/推/拉https://mystashserver/scm/myproject/myrepo.git
如何将此URL转换为Stash的Web UI以
形式使用的URLhttps://mystashserver/projects/myproject/repos/myrepo
在浏览器中打开第一个URL会自动转发到后者,但您无法添加其他参数,例如用于选择特定分支。
我正在寻找一种方法将第一种网址转换为后者,最好是在Bash脚本中使用。
答案 0 :(得分:1)
以下在Bash脚本中使用Bash的内置正则表达式支持:
giturl=https://mystashserver/scm/myproject/myrepo.git
re='(.*)/scm/(.*)/(.*)\.git'
if [[ $giturl =~ $re ]]; then
newgiturl=${BASH_REMATCH[1]}/projects/${BASH_REMATCH[2]}/repos/${BASH_REMATCH[3]}
echo $newgiturl
fi
正则表达式将原始URL拆分为几个部分:
.git
后缀在上面的示例中,newgiturl
变量然后重新组合网址,将projects
和repos
部分注入所需位置。