Subversion:忽略仅在一个客户端上本地修改文件

时间:2009-05-21 22:23:49

标签: svn ignore

是否可以在一个客户端本地忽略对subversion中文件的更改,而不将ignore传播到整个存储库?

我正在处理的特殊问题是我检查了一个项目并修改了一堆文件,包括Makefile,它已经是存储库的一部分。现在我正在处理的环境与组的其他部分不同,我希望Makefile的更改在我的机器上保持本地状态而不是提交。

但是,我不想设置svn:ignore,因为我相信会将忽略提交到存储库,而将make文件保存在那里很重要。

4 个答案:

答案 0 :(得分:38)

与svn的许多方面一样,乌龟让它变得非常简单。事实上,我相信乌龟实际上通过系统地使用现有的svn功能来增加功能。我意识到这个答案只是windows,然而,也许有些人像我一样仍然使用Windows。在“检查修改”弹出窗口中,只需右键单击您的文件,然后选择“移至更改列表” - >“gt-on-commit”。现在,当您使用乌龟签入时,它会将您的更改细分为各种更改列表,因此至少您可以直观地告诉您要提交的内容以及您不想提交的内容。

答案 1 :(得分:11)

如果您使用Subversion 1.5.x或更高版本,则可以使用更改列表:

svn cl COMMIT /path/to/project/*

svn cl NOT_COMMIT /path/to/project/Makefile

注意:第二个命令 Makefile 将从第一个更改列表中删除。您可以忽略该警告。

不要提交第二个更改列表。

通过以下方式提交:

svn ci --cl COMMIT -m"<LOG MESSAGE HERE>" 

重要: 如果您在没有--cl选项的情况下提交,则将提交所有更改

答案 2 :(得分:1)

我能想到的最接近的安全解决方案是使用个人分支。

答案 3 :(得分:-3)

使用svn export导出文件,使其不受版本控制。

http://svnbook.red-bean.com/en/1.0/re10.html

编辑:但我相信这必须在每个目录的基础上完成,所以你必须稍微重新组织你的文件。

我目前无法测试这一点,但是稀疏结账可以帮助你吗?

http://svnbook.red-bean.com/nightly/en/svn.advanced.sparsedirs.html