2009-06-04 104 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时才有效。

但是,然后再次,这是每个用户的设置。