2011-12-15 234 views
0

我已經使用從http://codex.wordpress.org/Using_Subversion和其他這樣的wordpress codex站點蒐集到的信息設置了一個WordPress站點。SVN回購SVN回購?

我注意到,雖然設置這個askimet源是從外部存儲庫複製。

這很容易嗎?我想要的是爲我的網站提供一個單獨的存儲庫,該存儲庫導入其他回購站,例如Wordpress回購庫和我爲自定義插件和各種類型設置的任何其他回購站。

在我的倉庫,我不希望有完整的WordPress的來源,我希望能夠在WordPress的回購鏈接到它,所以,當我checkout回購它還會將所有的後備箱Wordpress文件。

所以基本上我有一個這樣的結構:

  1. 結帳/從WordPress的SVN回購我的WordPress回購
  2. 結帳/更新WordPress的更新所有的自定義文件
  3. 結帳/更新任何自定義插件回購我已經添加。

某些目錄將被共享。例如在Wordpress存儲庫的根目錄中,我希望能夠在我的站點存儲庫(wp-config.php)中有一個文件。

可以這樣做,如果是的話,我該怎麼做呢?

謝謝。

+2

聽起來像你正在尋找svn:externals屬性? – Corbin 2011-12-15 11:20:16

回答

4

您可以使用svn:externals屬性。該屬性值中的每一行都給出一個URL和一個目錄; SVN客戶端會將URL中的存儲庫檢出到指定的目錄中。示例:

$ svn propget svn:externals . 
http://foo.bar/svn/repo wordpress 

將在當前目錄中產生一個名爲wordpress的目錄。

+0

可以使用`http://foo.bar/svn/repo .`嗎? IE瀏覽器進入當前目錄? – 2011-12-15 11:31:58

1

要添加svn:externals屬性請使用svn:propedit (pe)svn propset (ps)關於您要檢出其他分支的目錄。

如:

  1. 結帳基地分支:

    $ svn co hxxp://wordpress/svn/repo/trunk siteroot 
    
  2. 編輯svn:externals屬性:

    $ svn pe svn:externals 
    
  3. 編輯器將被打開,在那裏你可以添加一個或多個外部分支/存儲庫:

    $ hxxp://wordpress/svn/repo/plugin wordpress_plugin 
    $ hxxp://plugin2site/svn/repo/trunk another_plugin 
    
  4. 保存並提交。

    $ svn ci 
    
  5. 最後,你會得到下面的工作拷貝結構:

    siteroot/ 
    siteroot/wordpress_plugin 
    siteroot/another_plugin 
    

您還可以指定分支的特定版本,所以外部分支將被凍結,那個版本(如如果你知道它是穩定的)。要做到這一點,添加@REV到URL的末尾:

$ hxxp://plugin2site/svn/repo/[email protected] another_plugin 

可以使用svn propset代替svn propedit,但要小心,它會在SVN覆蓋所有現有數據:externals屬性:

$ svn ps hxxp://plugin2site/svn/repo/trunk another_plugin . 

欲瞭解更多信息,請參閱SVN handbook中的以下章節。

+0

感謝您的簡潔和描述性的答案。但是,如果我從wordpress擁有的repo簽出(co),那麼svn:externals屬性將不會針對回購保存,所以我將無法使用相同的svn:externals簽出其他任何地方。我需要我自己的存儲庫,我可以提交併訪問以使用svn:externals。在這種情況下,我可以使用svn:externals將wordpress repo導出到我的根文件夾中?謝謝 – 2011-12-16 09:53:55