Tortoise-SVN 使用什么方法来指示子树(子目录)的更改?
我在 CAE 软件(称为“工程基础”,感兴趣的人)上实现了版本控制系统,我想知道 Tortoise SVN 如何知道哪些子树有未提交的更改。
Tortoise-SVN 有一种方法可以准确地知道哪个子目录中有待更改的更改。 它指示使用叠加图标。
我想知道是否有人查看过源代码并弄清楚他们是如何做到这一点的?
他们如何使用文件时间戳/文件系统监视器/其他方法来实现这一目标?
我的问题总结: Tortoise-SVN 使用什么方法来指示子树(子目录)的更改?
I Implement a version-contol system on a CAE software (called 'Engineering Base', for whom interested), and i was wondering how Tortoise SVN know what subtrees have uncommited changes.
Tortoise-SVN, has a way of knowing exactly what sub-directory has changes pending in.
and it indicates using the Overlay Icon.
I wonder if anyone Looked inside the Source and figured out How they do that?
How they use the file TimeStamps/File System Monitor/Other methods inorder to achive that?
My Question in Summary:
What methodology is used by Tortoise-SVN to indicate a changes in sub-tree (sub-directories)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
与大多数版本控制系统一样,SVN 在隐藏的
.svn
目录中保留所有源文件的镜像副本。它通过简单地检查当前文件的内容是否与.svn
目录中的内容不同来检测更改。我不知道Tortoise-SVN如何决定何时调用该算法(它相当快,因此svn命令行工具不会费心缓存结果)。使用时间戳是有意义的,但我注意到它经常过时,所以我怀疑它只是在刷新文件夹或在任何钩子资源管理器提供它时进行检查。SVN, like most version control systems, keeps a mirror copy of all of the source files in a hidden
.svn
directory. It detects changes by simply checking if the current file's contents is different from the one in the.svn
directory. I don't know how Tortoise-SVN decides when to invoke this algorithm (it's rather fast, so the svn command line tool does not bother caching the results). Using timestamps would make sense, but I notice it getting out of date often, so I suspect it just checks whenever a folder is refreshed or on whatever hook explorer offers it.好吧,我在 Subversion.Org 的 SVN-BOOK 中找到了使用的确切方法
,这一切都清楚了,
如果有人也想知道,可以在此处查看
http://svnbook.red-bean.com/
Well I Found the exact method used at the SVN-BOOK at Subversion.Org
made it all clear,
if anyone want to know as well, this is where to look
http://svnbook.red-bean.com/