2011-07-29 95 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