我想克隆一個SVN樹使用git-svn git repo。我想完成一個完整的克隆,包括標籤和分支,但是我遇到了標籤組織的問題。git-svn克隆與奇怪的svn標籤組織
的SVN標籤的文件夾是這樣的:
tags/
|-- Backup
| |-- 20080212
| `-- 20080217
|-- V4.0.1
|-- V4.0.2
`-- V4.0.3
我知道git svn clone -T trunk -b branches -t tags/Backup -t tags
具有兩倍-t
選項,但是這並不完全滿意:
$ git branch -r
tags/20080212
tags/20080217
tags/Backup
tags/V4.0.1
tags/V4.0.2
tags/V4.0.3
trunk
正如你可以看到,所有的標籤在這裏,但有一個是太多了:備份標籤實際上不是一個標籤,而是一個包含標籤的文件夾。問題是它創建了一個複製所有備份分支內容的孤立分支。
現在的問題是:我如何讓git-svn忽略備份文件夾,但知道備份子文件夾作爲標籤,保持經典標籤可用?
作爲獎勵:如何自動命名備份標記爲Backup/20080217
而不是20080217
?
謝謝!
感謝您的長時間答覆。重命名標籤失敗,如下所述:'錯誤:無法爲.git/refs/remotes/tags/Backup/20080212 創建目錄致命:無法鎖定ref'refs/remotes/tags/Backup/20080212' 。 update-ref -m r175 refs/remotes/tags/Backup/20080212 b1aa4898486b123aa6c270e657ee49ffbd8ed3ad:command returned error:128' – CJlano 2012-02-29 21:43:00
你能告訴我'file .git/refs/remotes/tags/Backup'的結果嗎?如果它出現在「目錄」之外,這意味着它不能創建名爲「備份」的文件夾,因爲已經有一個帶有該名稱的標籤。正如我在最後一段中所說的那樣,我會給該文件夾一個不同的名稱以避免衝突;可能使用'tags = tags/Backup/*:refs/remotes/tags/bkutags/*'或類似的代替我在問題中提出的配置行。 – 2012-03-01 10:56:17