2010-01-21 95 views
10

我正在使用Subversion託管我自己的存儲庫以進行WordPress安裝。我已經設置好了,這樣所有的核心WordPress文件都在他們自己的目錄中(稱爲wordpress),並設置爲使用svn:externals鏈接到WordPress存儲庫。然後我有我自己的wp-content目錄副本(位於wordpress目錄之外),它不使用svn:externals。這一切工作正常。如何讓SVN忽略外部定義中的目錄

當我更新我的存儲庫時,WordPress內核得到更新。由於WordPress存儲庫包含它自己的wp-content目錄,因此它也更新該目錄。所以,我的文件結構最終看起來是這樣的:

/ 
--/wordpress/ (wordpress repo) 
-----/wp-admin/ 
-----/wp-content/ 
--/wp-content/ (my local repo) 

我最終具有的wp-content文件夾的兩個不同版本(一個從我的回購和一個從WordPress回購)。我不想從WordPress的回購(或至少不是在那個位置)。有沒有辦法讓我設置svn忽略wordpress/wp-content目錄,同時仍然使用外部定義?

+0

我不知道,但我想你可以嘗試在根目錄下設置一個'svn:ignore'屬性,看看會發生什麼。不過,這很可能不起作用。 – 2010-01-21 21:02:09

+0

這似乎並不奏效。只要我更新我的工作副本,它會再次下載wp-content文件。 – NerdStarGamer 2010-01-21 21:41:28

+0

我稍微晚了一點 - 但我不認爲它有一個問題有重複的WP - 內容。假設你已經將'WP_CONTENT_DIR'定義爲'define('WP_CONTENT_DIR',dirname(__FILE__)。'/ wp-content');'然後WordPress將忽略它自己的wp-content目錄。 – icc97 2014-04-09 12:56:16

回答

10

你真的要問的是’是,「你能指定--depthsvn:externals 」答案是否定的。 Externals目前在指定的目錄上完全遞歸。

Issue 3216請求此功能,但它不會’看起來像它’即將到來的任何時間。

+0

嗯,好的。我想你不能做我想要的,但我希望我錯過了一些東西。謝謝。 – NerdStarGamer 2010-01-22 17:40:34

0

您可以sparse directories(又稱淺檢出)做到這一點。我不是100%肯定它使用外部時,但我不明白爲什麼它不會。

+1

我不認爲稀疏目錄是我想要的。我希望能夠將我的svn repo設置爲始終忽略此特定文件(在外部定義內),然後將其忽略。我不想每次改變時都要輸入額外的東西。 – NerdStarGamer 2010-01-21 21:43:02

2

您可以爲引用的存儲庫中的每個子文件夾創建單獨的外部文件。因此,如果您的外部對於項目A,B和C的回購,並且您只需要A和B,則可以分別爲A和B的子文件夾分別創建兩個獨立的外部參照。

目前我正在做一個項目,但如果你真的對外部進行編輯並提交它們,你可能會遇到問題,因爲兩個單獨的外部變化不能以原子方式提交。即使兩個外部實際指向同一個存儲庫,這個問題仍然存在,這是有道理的,但在使用這種技術時很重要。

另外,如果您要對第二個存儲庫負責,則可以選擇將測試,文檔和其他相關文件夾放入另一個具有外部源代碼的獨立存儲庫中,以便將它們與主代碼存儲庫分開。這樣,由於代碼依賴性,這些文件夾在製作外部引用時不會被拉入。

-1

如果您嘗試刪除本地wp-content目錄,但通過SVN執行操作,會發生什麼情況?即。

svn rm /wordpress/wp-content 

這樣SVN應該記住你的變化,我想你是不是推的東西WordPress的回購,所以您不必擔心不小心commiting它。

+1

這不起作用。 'svn up'會帶回已刪除的文件夾 – user1406062 2013-05-16 14:35:34