view tests/test-convert-splicemap.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 04c62275cbc7
children a3d73b3e1f8a
line wrap: on
line source

adding a
adding b
adding c
adding a
adding d
adding e
% test invalid splicemap
abort: syntax error in splicemap(1): key/value pair expected
% splice repo2 on repo1
updating working directory
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
scanning source...
sorting...
converting...
2 addaandd
spliced in ['6d4c2037ddc2cb2627ac3a244ecce35283268f8e'] as parents of 527cdedf31fbd5ea708aa14eeecf53d4676f38db
1 changed
spliced in ['e55c719b85b60e5102fac26110ba626e7cb6b7dc', '527cdedf31fbd5ea708aa14eeecf53d4676f38db'] as parents of e4ea00df91897da3079a10fab658c1eddba6617b
0 adde
o  5 "adde" files: e
|
o    4 "changed" files: d
|\
| o  3 "addaandd" files: a d
| |
@ |  2 "addc" files: c
|/
o  1 "addb" files: a b
|
o  0 "adda" files: a