Mercurial > hg
view tests/test-symlink-basic.out @ 9116:f90bbf1ea09f
inotify: fix issue1375, add a test.
The biggest problem was the data structure, which did not allow changing
a file into a directory or vice versa. This problem is fixed by b55d44719b47.
The walk() method also had an issue in this case:
- we know 'path' as a directory. inotify server sleeps.
- 'path' is deleted
- 'path' is recreated as a file
- the server catches up here, and see the deletion. it instantiates a scan(),
which in its turn calls for walk(repo, path).
- walk() then assumes that 'path' is a directory and calls os.listdir on it,
which raises an OSError(errno.ENOTDIR)
Catch the error, and yield the file instead of the directory contents.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 13 Jul 2009 16:49:05 +0200 |
parents | b9e0ddb04c5c |
children |
line wrap: on
line source
abort: dangling: file not tracked! changeset: 0:cabd88b706fc tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 files: dangling description: add symlink 2564acbe54bbbedfbf608479340b359f04597f80 644 @ dangling % rev 0: dangling -> nothing % rev 1: dangling -> void % modifying link dangling -> empty % reverting to rev 0: reverting dangling dangling -> nothing % backups: dangling.orig -> empty 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % copies copying dangling to dangling2 A dangling2 dangling dangling -> void dangling2 -> void % issue995 0 files updated, 0 files merged, 0 files removed, 0 files unresolved