2010-11-11 149 views
0

我使用龜SVN,我有一個名爲「第一」的存儲庫。我的SVN位置是C:\ SVN。龜SVN多個存儲庫問題

現在,我在資源庫「Two」中創建了一個新項目。

目前的結構是
C:\ SVN
- >首先
- >二

我在開始幾類,我想在第二次使用。之前,我只是用來複制文件並在第二次修改它,但現在,因爲我使用SVN,所以我覺得只有一個類文件副本並重用它們是有意義的。

如何查看First中的類以便在第二個中使用?而當我修改類,我如何更新第一??

謝謝。

回答

1

您可以使用svn:externals參考回購Second中的回購First的子文件夾(或整個存儲庫)。

這樣當檢出Second時,它也會檢出從回購First引用的文件。

然後,當您使用回購Second,並且您從First修改引用的類時,您可以將它們提交回去。不過,您必須在svn:externals參考中使用的文件夾級別明確地執行此操作。如果您在Second的頂層提交,它將不會自動提交對引用First的子文件夾的更改。

+0

你的回答很有道理,但我無法在Tortoise SVN中使用它。對不起,但我是SVN的新手:)。所以,我應該添加svn:externals到repo 1中的文件夾還是我想參考的文件?只是要清楚,我不希望所有的文件在回購1,但只是一個文件夾內的文件。例如:/repo1/class/db.php,而不是所有文件在/ repo1/class/ – Ctroy 2010-11-11 17:00:45

+0

你會在'Second'中創建並提交一個子文件夾,讓你想要第一個代碼出現。然後,在TortoiseSVN中,右鍵單擊剛剛創建/提交的文件夾,然後選擇* Tortoise/SVN/Properties *。點擊* New *,在下拉列表中選擇* svn:externals *,並使用'First'的回購網址作爲*屬性值*。提交此更改。然後,當你更新時,它會將代碼從'First'拉入該目錄。 – RedFilter 2010-11-11 17:06:31

+0

當我嘗試使用svn:externals,^/../First/class/db.php db.php時,出現錯誤「Repository UUID」e2532d42-4d9d-f244-9935-22916a410asd'與預期不符「 。如果我給^/../First/class db.php,則類文件夾中的所有文件都將在第二個文件夾db.php中創建。我只想要的只是db.php ... – Ctroy 2010-11-11 17:22:30

0

可以添加第一個在第二個中存在的項目,或者將第一個文件添加到第二個項目/解決方案中。請注意,這將假設一個目錄結構。例如:如果First首先需要第二個類A,那麼在第一個解決方案中,提供一個指向文件「.. \ First \ A.class」的鏈接。然後它會被編譯到你的第二個項目中,但是會真正引用另一個倉庫中的文件,所以對它的更新將在第一個倉庫中進行。