繁体   English   中英

如何转换Atlassian Stash存储库URL以在浏览器中打开?

[英]How can I convert an Atlassian Stash repo URL to open in the browser?

Atlassian Stash使用回购URL进行克隆/推送/拉取的形式为

https://mystashserver/scm/myproject/myrepo.git

如何将该URL转换为Stash的Web UI使用的URL,其形式为

https://mystashserver/projects/myproject/repos/myrepo

在浏览器中打开第一个URL会自动转发到后者,但是您不能添加其他参数,例如用于选择特定分支的参数。

我正在寻找一种将第一种URL转换为后者的方法,最好用于Bash脚本中。

以下内容使用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分为几个部分:

  • (捕获组1):协议,主机名,可选的Web根上下文
  • “ scm”:这似乎是Atlassian Stash的固定值
  • (捕获组2):项目名称
  • (捕获组3):实际的存储库名称,减去.git后缀

在上面的例子中, newgiturl变量然后重新组合的URL,注入projectsrepos在所希望的位置的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM