2011-07-29 60 views
0

我得从svn status的svn:该文件将提交 - 如何忽略他们

$ svn status 
M  . 
?  tmp 
M  cron 
M  cron/alerts.php 
M  Impact.php 
M  logs 
M  conf 
M  conf/db.ini  <-- Let's talk about this file 
M  conf/impact.xml 

在我的本地工作副本下面的输出,我已经修改了conf/db.ini文件连接到我的dev DB服务器。由于这些更改是特定于我的,我不希望他们在我提交时回到存储库。

我做svn propedit svn:ignore conf和上市db.ini,但这样做的svn status当我看到该文件仍然在第一列的"M",让我觉得它仍然会被提交。我在这里纠正?如果是这样,我需要做些什么来避免将我的本地更改复制到该文件

回答

2

在进一步观察之后,我还发现您可以manually create a changelist,并添加您想要提交到更改列表的文件(在更改时运行良好,例如5个文件,但只想将更改提交到其中的3个文件)。当您提交时,您只需提交指定自定义创建的更改列表的名称,即可完成。

所以,就我而言。如果我只想提交'Impact.php'的更改,我可以执行以下操作:

$ svn cl impact-changes Impact.php 
$ svn commit --changelist impact-changes -m "My commit message." 
1

我的猜测是你已经将db.ini文件添加到回购站,否则它会显示一个?因此,请尝试备份您的db.ini,将其从SVN回购库中删除,然后尝试使用svnstatus

+0

嗯,我相信这样会起作用。我们希望在repo中有一份db.ini文件(至少是生产.ini文件的副本) - 所以我们应该创建dev-environment db.ini文件来处理开发,然后不包括该开发配置回购。我的db.ini文件副本只是生产副本,经过修改后可用于我的开发箱,而不是针对我的环境的单独副本。 – jefflunt

+1

您可能想要查看http://subversion.apache.org/faq.html#ignore-commit – prakashkut

+0

我发现保留开发人员需要在本地修改的原始版本文件的最佳解决方案是标记文件在被使用的文件夹中被忽略,并将干净的版本保存在单独的文件夹中。它可能不便于构建,但可能你正在从脚本中完成。 – ThatBlairGuy