2012-04-23 81 views
3

使用SVN命令行,我該如何從當前工作副本的URL創建分支? (不是從我的本地工作副本,可能會有本地更改)從工作副本的URL創建svn分支

尋找一個直接的方式,而不需要通過「svn info」來獲取URL。

+0

在一個shell腳本確定你使用SVN信息? – 2012-05-27 11:52:11

回答

1

這個怎麼樣?

svn copy ^/@HEAD <Branch URL>

編輯

由於分支,標籤和主幹都只是路徑和SVN完全是任意的,我不認爲你可以做到你想要什麼沒有一點創意就可以做到(例如,在內置的SVN命令之外)。要做到什麼,我認爲你想做的事,你可以使用bash腳本(假設的Mac/Linux的):

#!/bin/bash 

CURRENT_URL=$(svn info | grep ^URL | cut -d" " -f2) 

svn copy $CURRENT_URL "^/branches/$1" 

用法:svnbranch.sh newbranch

+0

不回答問題 - 正在從當前工作副本的URL複製。另外^ @ HEAD不起作用,需要^/@ HEAD。 – Danra 2012-05-26 19:57:30

+0

啊,我明白了。我誤解了你的部分請求。因此,您希望能夠在不指定任何URL的情況下從當前主幹或當前分支(不管它是當地工作目錄的當前工作目錄)進行分支+切換? – 2012-05-27 04:41:43

+0

是的。只是一個分支(沒有開關)也可以。 – Danra 2012-05-27 06:01:39

1

您只需執行

svn copy <URL of existing URI> <New URL> 

您可以獲取現有的工作副本感謝「SVN信息」的網址。

不應該存在於SVN服務器樹中,否則你將在該URL中創建一個子目錄。

副本將直接發生在服務器上。事實上,您將直接「提交」您的更改,而不需要任何工作副本。

+0

謝謝。還有更直接的方法嗎? – Danra 2012-04-23 11:31:31

+1

不客氣。更直接的會是「svn add <分支的URL>」? – 2012-04-23 12:30:50

+0

我的意思是沒有先獲取網址。類似於使用插入符號(但是由於它指向回購的根源,脫字符號並不好)。 – Danra 2012-04-23 14:26:10

1

運行`svn help copy'並仔細閱讀它的輸出。我認爲 - 修改選項可能會有所幫助。