大道至简,知易行难
广阔天地,大有作为

获取SVN服务端文件的md5/sha1

起因是运维的同事讨论如何获取SVN上文件的MD5:

之前确实在生产环境发现过生产介质损坏的情况,具体是SVN还是FTP导致问题不详。

初步搜索后得到两点信息:

  1. SVN 1.8以上使用的是SHA1,SVN 1.8以下使用的是MD5(https://stackoverflow.com/questions/7438588/subversion-checksum-algorithm);
  2. 很多人曾经尝试过使用svn info命令获取;

然而实测svn info只能获取本地仓库中文件的校验和:

此用的svn.exe为TortoiseSVN自带的,版本如下:

搜索SVN文档,发现其远程路径的输出也没有校验和:

该问题也有其他人遇到,但未得到解决:

继续搜索,找到一段代码:

这段代码是使用SVNKit实现的,没有用户名密码验证,增加验证调整后实测成功:

r.status的第二个参数可以直接加路径,就不用遍历了;不带第二个target参数就遍历。

完整代码如下:

 

参考资料:
1、http://subversion.1072662.n5.nabble.com/Get-checksum-performance-td2533.html

转载时请保留出处,违法转载追究到底:进城务工人员小梅 » 获取SVN服务端文件的md5/sha1

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址