2015-07-20 16 views
0

Atlassian的藏匿處採用回購的URL進行克隆/推/在如何將Atlassian Stash存儲庫URL轉換爲在瀏覽器中打開?

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

形式拉我怎樣才能改變這個網址到

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

開放的形式使用藏匿的Web UI的一個瀏覽器中的第一個URL會自動轉發到後者,但不能添加其他參數,例如用於選擇特定的分支。

我正在尋找一種方法來將第一種URL轉換爲後者,理想情況下用於Bash腳本。

回答

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拆分成幾個部分:

  • (捕獲組1 ):協議,主機名,可選的web根環境
  • 「scm」:這似乎是Atlassian Stash的固定值
  • (Capture Group 2):Proje克拉命名
  • (捕獲組3):實際庫名稱,減去.git後綴

在上面的例子,則newgiturl可變重新組合的URL,注射在所需的位置處的projectsrepos一部分。

相關問題