我正在使用一个程序,该程序将数据写入我存储在颠覆档案中的固定大小的二进制文件。
然而,问题是 SVN(命令行客户端和 TortiseSVN)认为由于文件的大小没有改变,文件本身没有改变,它不应该提交它。
有没有办法改变使用的差异方法,还是我必须求助于诸如向文件添加虚拟属性之类的技巧?
编辑:原来解决方案不是因为文件大小的事情。我只是自动假设会是这种情况,因为大多数 nieve diffing altorithims 一直都在这样做。 [黄鼠狼的话]
我正在使用一个程序,该程序将数据写入我存储在颠覆档案中的固定大小的二进制文件。
然而,问题是 SVN(命令行客户端和 TortiseSVN)认为由于文件的大小没有改变,文件本身没有改变,它不应该提交它。
有没有办法改变使用的差异方法,还是我必须求助于诸如向文件添加虚拟属性之类的技巧?
编辑:原来解决方案不是因为文件大小的事情。我只是自动假设会是这种情况,因为大多数 nieve diffing altorithims 一直都在这样做。 [黄鼠狼的话]
有关SVN 如何确定文件是否被修改的说明,请参见此处。
您确定文件确实发生了变化吗?Subversion可以并且确实处理二进制文件,并且它们具有实际的差异算法;这不仅仅是看文件大小。Subversion 在这里可以很好地检测到二进制文件的文件更改,即使大小没有改变。
您确定文件已更改?即不同的字节。我很确定颠覆使用二进制差异算法,并且不依赖于文件大小。
自行解决。
事实证明,更改文件的程序也以混淆 SVN 的方式弄乱了文件的元数据。