FileSystemWatcher不使用Subversion?

时间:2011-08-09 09:00:04

标签: .net svn filesystemwatcher

我有一个应用程序,它使用FileSystemWatcher来侦听某个文件夹中的Created和Deleted事件。在Windows资源管理器中移动文件时,该应用程序运行良好。但事实是,当用户在Subversion客户端(Syncro svn)中移动文件时,它真的意味着要使用它,它有一种用于用户工作文件夹的浏览器。但是当从svn客户端移动文件时,没有移动的实际文件会触发Created和Deleted事件。唯一被触发的是针对svn特定的文件(.tmp,.svn-base和whatnot)。

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

1 个答案:

答案 0 :(得分:1)

发生错误,因为文件未按原样移动。相反,移动的文件在复制到目标目录时具有.tmp后缀。复制过程完成后,SyncroSvn会尝试重命名该文件。就是这样。只是抓住重命名的事件。