我想通过命令行删除存储库中的目录。同时,我不想将 Subversion 将此更改传播到本地工作副本。

工作副本中的目录应保持原样不变(唉,我想设置 svn:ignore 属性)。不管怎样,如果不将删除传播到我的工作副本,我无法找到一种方法来完成此任务。

有帮助吗?

解决方案

据我所知,这是不可能的。一旦文件真的被版本svn:ignore不会做任何事情。

这使得像这样有点危险的事,因为人们可能有他们要保持局部的变化。如果他们不重视,他们可能会失去他们。

其他提示

喜欢 索拉林 说,这似乎不可能,因为无论 svn:ignore 属性如何,删除命令都会传播。

更安全的迁移可能是: 改名 有问题的目录(类似于 dir.old,然后在原始目录名称上添加 svn:ignore。然后,您可以告诉人们在完全删除目录之前手动将其目录复制回原始名称。

根据此目录中文件的类型,您可能还希望永久保留它,作为开发人员同步其更改的地方。在这种情况下,您可以通过将其称为 dir.tmpl 之类的名称来明确它是一个模板目录,这样就不会直接使用它。

下面被盗回答另一个问题(感谢马切伊Łebkowski!):

从我的经验:不`吨把该文件版本控制和使用SVN下:忽略它。

这是一开始有点辛苦,因为你不能忽视的一个文件,该文件是媒体链接版本控制之下,你不能删除从版本控制文件,而无需从硬盘删除它(并从每一个工作副本下就更新中...)。但是,当你终于设法正确设置回购,它就像魅力。不要忘记,以替代原有的配置文件中添加一个通用模板(让大家知道新配置变量,依此类推)。

有关新回购:

MKDIR配置,点击 SVN添加配置结果 SVN propset命令的svn:忽略 '*的.conf' 配置结果

对于现有回购协议:可以肯定的,有你的配置的一个备份,在每一个工作副本,然后从回购删除(SVN德尔)配置,提交(请注意:该文件将在下次更新每一个工作副本被删除!你必须有一个备份),然后恢复文件和设置忽略属性。

另一种方式是一个锁。它保证没有人提交的文件,但它会导致错误的每次提交。不是很好。

和第三种方式 - 的变更,在SVN 1.5客户端的新功能。这是整齐的,但它只是涉及到一个工作拷贝,而不是一个仓库全球。而且你必须手动设置它们,每次添加新的文件 - 这是很难维持的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top