2009-10-09 55 views
14

上下文是我有一個現成的CMS,我想對其進行自定義;所以我想保留我在版本控制下修改的文件,但是我沒有看到需要將整個文件樹放在版本控制下。將單個文件添加到Subversion存儲庫但不包括路徑中的其他文件

我的問題是我需要添加一個文件保存在位於幾個子目錄下的版本控制下,但我不想向文件及其父文件夾中的其他任何內容添加到存儲庫旁邊。

爲了說明,說我在我的項目中的以下文件:

項目/文件夾1 /文件夾2/file.txt的

我想file.txt的添加到庫中,並且文件夾1是根據版本控制但folder2不是。在folder1和folder2中有我不想全部置於版本控制之下的現有文件。

做一個svn import folder1/folder2/file.txt似乎沒有工作,因爲那時我需要檢查該文件,即使我先刪除本地版本,SVN抱怨其父文件夾存在。我認爲這意味着如果我使用--force選項,這隻會摧毀這些文件夾的內容。

svn add folder1/folder2/file.txt的問題是,它需要每個父文件夾已經在存儲庫中(我從其無法找到folder2/.svn/entries文件的事實中收集),但只有folder1位於存儲庫中。所以我想我可以先做svn add folder1/folder2。問題是這會將folder2的全部內容放入存儲庫中,這是我不想要的。看起來解決方案是做svn add --depth=empty folder1/folder2,它只是添加文件夾,沒有內容,但是--depth選項是Subversion 1.5中的一個新功能,而我使用1.4.2,並且很好的避免了升級。

所以我想知道是否有解決舊版Subversion缺乏-depth選項的方法?或者是有另一種解決這個問題的方法「我也想知道,如果我首先設置它的方式沒有那麼有用

回答

33

你應該添加帶有選項」--non -recursive「:

svn add --non-recursive folder1/folder2 
+0

我看到了這個選項,但由於某種原因,認爲這將意味着添加每個子項,但不要下降。但它確實如此,謝謝:) – nedned 2009-10-09 07:12:22

16

您也可以使用快速的版本, 」-N「,這是短表 」--non遞歸「,作爲

svn add -N folder1/folder2

24

如果你的客戶端版本是1.5或以上,你可以簡單地使用

svn add --parents folder1/folder2/file.txt 

要添加文件及其父目錄。

+1

這個答案值得更多的關注。現在,這是比其他答案快得多的解決方案。 – JMTyler 2014-04-29 19:02:34

相關問題