2011-03-19 106 views
17

我剛剛發現this question關於從沒有使用--stdlayout完成的克隆中恢復。我沒有找到這個標誌的文件 - 它是做什麼的?--stdlayout在git svn clone中做了什麼?

+0

該文檔在這裏:http://www.kernel.org/pub/software/scm/git/docs/git-svn.html#_commands – 2011-03-19 10:40:10

+1

@Mark - 在我的辯護中,這裏的答案比文檔。 – ripper234 2011-03-19 10:43:52

+3

對,我認爲S.O.在很多方面是與git手冊頁很好的對應:)手冊頁是準確的,並告訴你你需要知道什麼,但是需要相當多的關於git的知識才能夠理解他們所說的話。 – 2011-03-19 10:48:59

回答

34

Subversion沒有分支標籤的任何概念。相反,通常只需將存儲庫的內容複製到目錄中就可以模擬這些內容。

爲了git svn能夠識別分支和標籤和主分支(「行李箱」),你必須明確地告訴它在哪裏找到它們,使用--tags(或-t),--branches(或-b)和--trunk(或-T)選項。

不過,許多Subversion版本庫遵循Subversion版本--trunk=/trunk --branches=/branches --tags=/tags中規定的標準約定。 --stdlayout(或-s)對此約定進行編碼,以便每次克隆Subversion存儲庫時不必傳遞相同的參數。

您可以找到git-svn(1)手冊此信息,您可以在Unix下用man git-svn和操作系統無關的方式通過內置的Git幫助系統git help svn訪問。在Kernel.Org上也可以使用All of the Git man pages,它們通常是搜索git-svn(1)時的第一個搜索結果。

+1

+1:一個很好的解釋 – 2011-03-19 10:50:14

+0

實際上,對於'stdlayout'匹配,參數是'--trunk = trunk --branches = branches --tags = tags'(沒有前導'/') – rotoglup 2012-08-18 08:45:57

+0

你可以分支和標記在Subversion中 – pinkvoid 2015-12-02 10:20:26

11

--stdlayout-s)告訴git-svn/branches文件夾應該導入爲分支機構,並在/tags文件夾是一個項目狀態的快照,應該導入爲標籤。主分支將被設置爲/trunk

這相當於--trunk=trunk --tags=tags --branches=branches