Svn subversion如何检查工作副本和;服务器?

Svn subversion如何检查工作副本和;服务器?,svn,Svn,在检查服务器上的工作副本和上一个版本之间的差异时,我试图了解svn是如何在套接字级别工作的 我一直在关注这篇文章: 这解释了协议,但我仍然不清楚subversion在发出“svn状态”时如何检查差异 我正在寻找一种可以复制这种行为的方法,就像我在实现自己的SVN客户端一样。事实并非如此 运行svn st时,将对照上次在WC(原始副本)上运行svn update的时间戳检查文件的WC副本的时间戳。如果它们不同,则计算文件的校验和,并与原始副本的校验和进行比较。如果不同,diff算法将计算差异 当

在检查服务器上的工作副本和上一个版本之间的差异时,我试图了解svn是如何在套接字级别工作的

我一直在关注这篇文章:

这解释了协议,但我仍然不清楚subversion在发出“svn状态”时如何检查差异

我正在寻找一种可以复制这种行为的方法,就像我在实现自己的SVN客户端一样。

事实并非如此

运行
svn st
时,将对照上次在WC(原始副本)上运行
svn update
的时间戳检查文件的WC副本的时间戳。如果它们不同,则计算文件的校验和,并与原始副本的校验和进行比较。如果不同,diff算法将计算差异


当您运行
svn st-u
时,客户机会对服务器说“我的工作副本在修订版X,从那以后哪些项目发生了更改?”(注意:不是“发生了哪些更改”,而是简单的“给我一个更改了哪些项目的列表”),服务器会返回一个列表(包括存在的所有锁)。没有其他差异(我知道)发生。

svn status使用.svn目录下下载文件的原始副本进行比较-我认为它不会产生差异。