2009-06-04 107 views
18

我怎樣才能忽略我的svn回購文件而不刪除它們呢?svn忽略不刪除文件?

當我在現有的項目工作,我經常要設置項目的本地版本,並使用我的本地數據庫以及。以drupal爲例,我檢出svn repo,更改settings.php文件以匹配我的本地數據庫,但是現在我必須確保我不再提交設置文件。

是否有任何聰明的svn命令,將解決這一問題?

+0

看到這個問答:http://stackoverflow.com/questions/69448/how-do-i-keep-resharper-files-out-of-svn – 2009-06-04 14:47:49

+0

更喜歡http://stackoverflow.com/questions/862950/subversion-prevent-local-modifications-to-one-file-from-being-committed – 2009-06-04 14:59:47

+0

可能的重複項: http://stackoverflow.com/questions/940057/in-subversion-how-can-i-un-hijack - 一個文件 http://stackoverflow.com/questions/714307/svn-ignoring-an-already-committed-file – TJR 2009-06-04 15:07:39

回答

-1

的svn propedit的svn:忽略./some_path

For details see this post.

+0

我已經試過這個,但設置文件仍然會被提交 – 2009-06-04 14:52:14

+1

是的,這忽略了一個僅限本地的文件,但沒有阻止跟蹤已經在回購站中的文件。 – GalacticCowboy 2009-06-04 15:06:06

6

從SVN幫助:

我在我的項目中的文件,每一個 開發商必須改變,但我不t 希望這些本地mod永遠是 承諾。我怎麼能'svn承諾' 忽略文件?**

答案是:不要 把該文件放在版本控制下。 相反,把文件 的模板版本控制之下,像 「file.tmpl」。

然後,最初的「SVN 結賬」後,有你的用戶(或您的 構建系統)做的 模板正常OS拷貝到正確的文件名, 並讓用戶自定義副本。 文件未版本化,因此它將永遠不會承諾 。如果你願意,你可以 將文件添加到它的父目錄的 svn:ignore屬性,所以也沒有 顯示爲「?」在'svn status' 命令中。

1

創建名爲「.template」和版本控制的文件的版本。當你簽出重命名和編輯,你需要。然後使用svn propedit svn:ignore來忽略副本。

1

可能的解決方案是使用更改列表。您可以將要更改的文件分組爲更改列表,然後在svn提交時指定更改列表 - 不在更改列表中的文件不受影響。

創建變更列表
SVN變更列表數學修復的integer.c mathops.c

提交變更表中的文件只有
的svn詞-m 「修正錯誤」。 --changelist數學修復

0

最簡單的方法就是去包含您的配置文件中的任意目錄,並設置其屬性:

的svn:忽略的settings.php

,它將保持原樣通過所有提交和更新。你的命令可能是這樣的:

$的svn propset命令的svn:忽略 '的settings.php'。/

1

This answer談論如何使用模板文件創建名爲ignore-on-commit的更改列表,它只有在使用TortoiseSVN時纔有效。

但是,然後再次,這是每個用戶的設置。