2009-12-12 74 views
1

我相信svn externals是我想使用的,但想要設置它的一些說明。我從來沒有這樣做過。初學者:建立Subversion外部結構

我的環境是:

Mac 10.6.2 
Xcode 
Cornerstone 
Subversion 10.6 (file based/single developer) 
Single repository 

我的SVN文件夾結構是:

\projects\projectA 
\projects\projectB 
\projects\projectC 
\projects\projectX (.lib file) 
\projects\projectY (images) 

所有項目都有樹幹,標籤,和分行的文件夾(就像Subversion的建議)。項目X & Y是真正的共享代碼。我想要分享的是圖像和.lib文件。例如,projectY將包含PSD圖像加上產品,這是一個PNG。 projectX將包含Xcode源文件和產品,這是一個.lib文件。

在項目A到C中,我想引用PNG和.lib文件,並希望可以選擇引用最新的或特定的版本,我知道外部版本會這樣做。 projectY將包含所有的PNG文件。但是,projectX會將其.lib輸出到所有Xcode項目使用的通用構建文件夾。

如果我創建了projectA到圖像projectY外部屬性,並不意味着所有projectY的是外部的,源代碼(月臺幕門)和所有?我只是對PNG感興趣。如果我想從項目B和C的projectX中引用特定版本的.lib文件,自從projectX將.lib文件輸出到常見的Xcode構建文件夾以來,這是如何完成的?

當我更新projectX創建圖像,如何了projectA獲得最新的圖像?只是通過更新?

如果我把所有projectY的圖像轉化爲產品文件夾,並只需要三其發言權了projectA 50幅圖像,將所有50個仍在了projectA顯示出來的?這是一個性能問題嗎?

回答

2

您可以設置外部引用到Subversion中的任何文件夾 - 只能指向包含PNG的文件夾。至於特定的內置版本,您應該考慮提交構建輸出,並標記每個版本,然後設置svn:externals引用標記。

是的,一個upate到了projectA將通過的外部鏈接拿起projectX創建更新的圖像(只要你沒有檢查出來的選項忽略外部...)。

+0

感謝。我相信你是說我需要將所有PNG放入projectY中的產品子文件夾,並僅引用產品子文件夾文件夾? – 4thSpace 2009-12-12 19:14:59

+0

你會發現使用projectY中的某個結構來做你想要的更容易,是的。 – 2009-12-12 19:15:48

+0

完美,謝謝!我已經更新了我的問題的最後部分,涉及在產品文件夾中定位圖像。我知道單個文件不能用於外部。 – 4thSpace 2009-12-12 19:20:53

0

標記是這樣的情況下(根據您的要求複雜是否值得吧)非常有用。我在工作中使用共享資源的做法是標記要通過外部分發的代碼的每個版本(1.0,1.1,2.0等),並將外部標記指向最新的標記版本。

這意味着,無論出於何種原因,我需要檢查某個項目的舊版本,它總是引用相同的共享文件,而不僅僅是最新的修訂版本。