2012-09-17 56 views
3

我在Ubuntu上使用Apache Subversion(SVN)。我有一個文件在幾個子項目中使用。所以我使用硬鏈接到相同的文件。svn與硬鏈接

svn commit之後,看起來硬鏈接成爲獨立文件(鏈接數量變爲1)。

SVN是否可以保留硬鏈接?

+0

它符合符號鏈接嗎? IIRC,svn確實瞭解這些並將保留它們。 – tdammers

+0

讓我再試一次。也許我犯了一些錯誤。非常感謝! :-) – Anand

回答

3

Subversion支持自1.1(2004)以來的符號鏈接。

硬鏈接無法識別並作爲普通文件處理。

見這也Version Control with Subversion

版本化的符號鏈接

在非Windows平臺,Subversion是能夠將特殊類型符號鏈接(或「符號鏈接」)的版本的文件。符號鏈接是一種文件,充當對文件系統中某些其他對象的透明引用,允許程序通過對符號鏈接本身執行操作來間接讀寫這些對象。

當一個符號鏈接被提交到一個Subversion版本庫時,Subversion會記住該文件實際上是一個符號鏈接,以及符號鏈接「指向」的對象。當該符號鏈接檢出到另一個工作副本非Windows系統,Subversion從版本化的符號鏈接重建一個真正的文件系統級符號鏈接。但是這並不會限制在不支持符號鏈接的Windows等系統上工作副本的可用性。在這樣的系統中,Subversion只是創建一個常規的文本文件,其內容是原始符號鏈接指向的路徑。雖然該文件不能用作Windows系統上的符號鏈接,但它也不會阻止Windows用戶執行其他與Subversion相關的活動。

+0

親愛的H.-Dirk Schmitt,我會嘗試符號鏈接以查看它是否適用於我的系統。 :-) 非常感謝! – Anand

1

硬鏈接是普通文件。你可以只知道它從更多的地方聯繫在一起,因爲鏈接數大於1

人覺得你可以做,在每一個項目中的同一個文件,就是SVN的外部使用。通過這種方式,一個項目將擁有您想要共享的文件,其他所有人都將使用該文件。

您可以閱讀更多關於svn externals here

+0

親愛的奧古斯都,你認爲我可以使用符號鏈接來解決問題,而不是使用svn:externals嗎? – Anand

+1

是的,您可以,唯一的問題是您要共享的文件必須位於您部署應用程序的任何位置。如果你使用svn external,你不需要關心,因爲這個文件將會在你想要的目錄中。 – Augusto

+0

謝謝奧古斯托。 :-) – Anand