Mercurial > hg
view tests/test-convert-cvs.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 | ba42e3c6e602 |
children | fc493cb90bb1 |
line wrap: on
line source
% create cvs repository % create source directory % import source directory N src/a N src/b/c No conflicts created by this import % checkout source directory U src/a U src/b/c % commit a new revision changing b/c checking in src/b/c,v % convert fresh repo warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 initializing destination src-hg repository connecting to cvsrepo scanning source... sorting... converting... 2 Initial revision 1 import 0 ci0 updating tags a c c % convert fresh repo with --filemap warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 initializing destination src-filemap repository connecting to cvsrepo scanning source... sorting... converting... 2 Initial revision 1 import filtering out empty revision rolling back last transaction 0 ci0 updating tags c c 2 update tags files: .hgtags 1 ci0 files: b/c 0 Initial revision files: b/c % commit new file revisions checking in src/a,v checking in src/b/c,v % convert again warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... sorting... converting... 0 ci1 a a c c c % convert again with --filemap warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... sorting... converting... 0 ci1 c c c 3 ci1 files: b/c 2 update tags files: .hgtags 1 ci0 files: b/c 0 Initial revision files: b/c % commit branch U b/c T a T b/c checking in src/b/c,v % convert again warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... sorting... converting... 0 ci2 a c d % convert again with --filemap warning: support for external cvsps is deprecated and will be removed in Mercurial 1.4 connecting to cvsrepo scanning source... sorting... converting... 0 ci2 c d 4 ci2 files: b/c 3 ci1 files: b/c 2 update tags files: .hgtags 1 ci0 files: b/c 0 Initial revision files: b/c o 5 (branch) ci2 files: b/c | | o 4 () ci1 files: a b/c | | | o 3 () update tags files: .hgtags | | | o 2 () ci0 files: b/c |/ | o 1 (INITIAL) import files: |/ o 0 () Initial revision files: a b/c