svn-Subversion:仅在一个客户端上忽略对文件的修改

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

我要处理的特定问题是,我已经签出一个项目并修改了包括Makefile在内的一堆文件,该文件已经是存储库的一部分。 现在,我正在使用的环境与该小组的其他人不同,并且我希望对Makefile所做的更改在我的计算机上保持本地,而不是提交。

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

fuad asked 2020-01-26T09:11:03Z
4个解决方案
38 votes

与svn的许多方面一样,乌龟真的很容易。 实际上,我相信乌龟实际上是通过系统地使用现有的svn功能来添加功能的。 我意识到这个答案只不过是Windows,但也许有些人像我一样仍然使用Windows。 在“检查修改”弹出窗口中,只需右键单击您的文件,然后选择“移至变更列表”->“提交时忽略”。 现在,当您使用乌龟签入时,它将把您的更改划分为各种更改列表,因此至少您可以直观地看出要提交的内容和不想提交的内容。

andersonbd1 answered 2020-01-26T09:11:35Z
11 votes

如果您使用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选项进行提交,则所有更改都将被提交

Peter Parker answered 2020-01-26T09:12:12Z
1 votes

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

Gleb answered 2020-01-26T09:12:32Z
-3 votes

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

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

编辑:但是,我认为这必须在每个目录的基础上完成,因此您必须重新组织文件。

我目前无法测试,但是稀疏的结帐对您有帮助吗?

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

John Carter answered 2020-01-26T09:13:12Z
translate from https://stackoverflow.com:/questions/895548/subversion-ignore-modifications-to-a-file-locally-on-one-client-only