是否可以仅在一个客户端本地忽略对 subversion 中文件的更改,而不将忽略传播到整个存储库?
我正在处理的特殊问题是我已经检查了一个项目并修改了一堆文件,包括 Makefile,它已经是存储库的一部分。现在我正在处理的环境与该组的其他人不同,我希望对 Makefile 的更改在我的机器上保持本地而不是提交。
但是,我不想设置 svn:ignore 因为我相信会将忽略提交到存储库,而将 make 文件保留在那里很重要。
与 svn 的许多方面一样,乌龟使它变得非常容易。事实上,我相信乌龟实际上是通过系统地使用现有的 svn 特性来添加特性的。我意识到这个答案只是 windows,但也许有些人像我一样仍然使用 windows。在“检查修改”弹出窗口中,只需右键单击您的文件并选择“移动到更改列表”->“忽略提交”。现在,当您使用 tortoise 签入时,它会将您的更改分割到各种更改列表中,因此至少您可以直观地分辨出您要提交的内容和不想提交的内容。
如果您使用 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 选项的情况下提交,您的所有更改都将被提交
The closest safe solution I can think of is to use a personal branch.
用于svn export
导出文件,使其不受版本控制。
http://svnbook.red-bean.com/en/1.0/re10.html
编辑:但是我相信这必须在每个目录的基础上完成,所以你必须重新组织你的文件。
我目前无法对此进行测试,但是稀疏的结帐对您有帮助吗?
http://svnbook.red-bean.com/nightly/en/svn.advanced.sparsedirs.html