仅更新.svn文件夹

仅更新.svn文件夹,svn,version-control,Svn,Version Control,我一直在使用sed不小心损坏我的.svn目录(我忘记添加目录排除),当我尝试更新或提交时,这会产生愉快的svn错误:svn:“.svn/text base/foo.bar”的校验和不匹配 (另一方面,我希望svn足够信任服务器,在出现不匹配时忽略本地文本库文件,而不是死掉) 我目前的解决方案是签出到另一个目录,然后使用:sudofind删除除.svn之外的所有文件-类型f-not-iwholename“*.svn*”-exec rm-r{}\

我一直在使用sed不小心损坏我的.svn目录(我忘记添加目录排除),当我尝试更新或提交时,这会产生愉快的svn错误:
svn:“.svn/text base/foo.bar”的校验和不匹配

(另一方面,我希望svn足够信任服务器,在出现不匹配时忽略本地文本库文件,而不是死掉)

我目前的解决方案是签出到另一个目录,然后使用:
sudofind删除除.svn之外的所有文件-类型f-not-iwholename“*.svn*”-exec rm-r{}\
是否使用svn只是从服务器上快速读取.svn文件并替换当前文件,还是我一直在签出、删除然后粘贴

是否仍然使用svn从服务器上读取.svn文件并替换当前文件

对于同一个WC,它可能有点棘手,但我认为签出空的新WC(其中只有
.svn
dir)将是可接受的解决方案


为了获得这样的WC,您必须使用
--depth'empty'
参数调用checkout并将结果.svn复制到损坏的WC中

如何解决您真正的问题?为什么你一直用sed破坏你的.svn目录?解决这个问题,你就不必担心了。你不应该碰.svn的内容,永远!原因不是编码问题(我知道如何排除目录),只是我在运行sed时一直忘了这么做。注意,我无意中说了
。您使用的是什么版本的SVN?我在SVN1.8下的工作副本中没有看到.svn/文本库。我尝试破坏.svn/pristine中的一些文件,认为“svn清理”可能会解决问题,但实际上“svn更新”在我的情况下运行正常(尽管更新和清理都不会将“pristine”文件恢复到正确的状态)。值得一提的是,.svn/pristine下的文件没有与它们对应的工作副本数据中的文件匹配的文件扩展名。也许可以为您创建一个排除目录的sed别名?是的,我想我必须添加sed别名。我很确定我的公司是1.4或类似的旧版本。这只是将签出深度设置为0,所以没有孩子被下载。我可以用它来写一个小脚本,让它递归工作,看看这个