2012-11-08 91 views
2

我想使用SVN externals在不同的項目之間共享代碼文件。我需要問你一個關於這個功能的問題,但是要通過解釋這種情況來解決這個問題。SVN Externals and Revision Association

  1. 我在SVN上創建了兩個項目(目錄):'A'和'B'。
  2. 'A'包含要在其他項目中共享的文件,其中一個名稱爲'shared.txt'。
  3. 'shared.txt'鏈接到'B'(使用'B'的svn:externals屬性)。
  4. 除此之外,'B'包含其他源代碼文件(一個完整的項目)。

現在的問題。我檢查了一些較舊的'B'版本,以找出我將使用哪個版本的'shared.txt'。 不幸的是,無論我從測試存儲庫下載的'B'的歷史版本,我總是得到最新版本的'shared.txt'。

讓我們假設我想從幾個月前下載項目'B'。在這幾個月裏,'shared.txt'發生了很多變化。但是我想要像幾個月前一樣下載一個完整的項目,以及那個特定時間的外部項目。

如果沒有手動查找每個外部的適當修訂版本,這可能嗎?我知道我可以將特定版本的外部元素與我的測試項目'B'關聯,但這不是解決方案。我猜如果我這樣做,即使當我查看最新版本的'B',我也永遠不會訪問最新的外部。我是對還是錯?

謝謝你的幫助(對不起,如果我的問題已被問到,但我找不到任何類似的問題)。

+0

我還需要解決這個問題,在開始討論svn用戶maillist導致以下功能請求。 http://subversion.tigris。組織/問題/ show_bug.cgi?ID = 4286 – Stefan

回答

2

是,這種形式的問題被問前一段時間在這裏(水木清華,像「當svn的起來superrepo URL -r {DATE},使用此日期爲的外部更新,如果他們是HEAD聯」) ,它仍然沒有很好的答案

發現的安裝程序是「你必須cd進入所有外部WC /目錄外部/和svn up -r {DATE}獲取同步狀態」。我沒有回答文件回購

替代解決方案

更多動作在發展過程中,少動隨時間回

  • 始終定義與PEG-修訂的外部
  • 監視器提交(因此 - 更改頂部修訂版)爲外部
  • 在external-commit執行外部定義的更改(使用額外提交)後(可能會在post-提交鉤回購外)

FR爲ASF「subrepos在主回購{DATE}操作的遞歸處理」將是有益的