【问题标题】:FileSystemWatcher not working with Subversion?FileSystemWatcher 不能与 Subversion 一起使用?
【发布时间】:2011-08-09 22:51:19
【问题描述】:

我有一个应用程序,它使用 FileSystemWatcher 来侦听某个文件夹中的 Created 和 Deleted 事件。在 Windows 资源管理器中移动文件时,该应用程序运行良好。但问题是,当用户在 Subversion 客户端 (Syncro svn) 中移动文件时,它实际上是用来使用的,该客户端有一种自己的资源管理器,用于用户的工作文件夹。但是当从 svn 客户端中移动文件时,移动的实际文件都不会触发 Created 和 Deleted 事件。唯一被触发的是特定于 svn 的文件(.tmp、.svn-base 等)。

我首先认为这可能是 svn 客户端最初仅用于“虚拟”移动文件的某种机制,以便在稍后阶段(提交或其他)实际移动它们,但实际上如果我查看在 svn 客户端内移动后的 Windows 资源管理器,文件实际上在新文件夹中。那么为什么 FileSystemWatcher 不报告这些文件,而只报告特定于 svn 的文件呢?

【问题讨论】:

    标签: .net svn filesystemwatcher


    【解决方案1】:

    发生是因为文件没有按原样移动。相反,移动的文件在复制到目标目录时具有 .tmp 后缀。复制过程完成后,SyncroSvn 会尝试重命名文件。而已。也只需捕获 Renamed 事件。

    【讨论】:

    • 好的,是的,我实际上只是尝试这样做,但它变得更加复杂,因为我还必须监控文件本身的重命名,结果在这种情况下它没有( !)引发重命名事件(至少不仅如此),而是引发创建和删除事件......不过,你的答案是正确的,我会接受它,而且在Subversion中这样做可能太复杂了.用户将不得不在它之外进行。
    猜你喜欢
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2013-09-25
    相关资源
    最近更新 更多