FileSystemWatcher не работает с Subversion? - PullRequest
0 голосов
/ 09 августа 2011

У меня есть приложение, которое использует FileSystemWatcher для прослушивания событий «Создано» и «Удалено» в определенной папке.Приложение отлично работает при перемещении файлов в Windows Explorer.Но дело в том, что он действительно предназначен для использования, когда пользователи перемещают файлы в клиенте Subversion (Syncro svn), который имеет своего рода проводник для рабочей папки пользователя.Но когда файлы перемещаются из клиента svn, ни один из фактически перемещенных файлов не вызывает события «Создан» и «Удален».Единственные, которые запускаются, предназначены для файлов, специфичных для svn (.tmp, .svn-base и еще много чего).

Сначала я подумал, что это может быть какой-то механизм, который svn-клиент должен был сначала только "виртуально" переместить, чтобы переместить файлы на более позднем этапе (коммит или что-то в этом роде), но на самом деле, еслиЯ смотрю в проводнике Windows после выполнения перемещения внутри клиента SVN, файлы на самом деле там, в новой папке.Так почему же FileSystemWatcher не сообщает об этих файлах, а только о svn-специфичных?

1 Ответ

1 голос
/ 09 августа 2011

Происходит, потому что файлы перемещаются не так, как они есть.Вместо этого перемещенный файл имеет суффикс .tmp при копировании в целевой каталог.После завершения процесса копирования SyncroSvn пытается переименовать файл.Вот и все.Просто поймайте переименованное событие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...