view tests/test-rename-after-merge.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 d821ea464465
children a3d73b3e1f8a
line wrap: on
line source

% create source repository
adding a
% fork source repository
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
adding b
% update source repository
% merge repositories
pulling from ../t2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
M b
% rename b as c
A c
R b
% rename back c as b
M b
% test issue 1476
adding a
adding b1
adding b2
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
adding c1
adding c2
created new head
% merge heads
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% commit issue 1476
copies:      c2 (c1)
rolling back last transaction
2 files updated, 0 files merged, 2 files removed, 0 files unresolved
% merge heads again
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% commit issue 1476 with a rename on the other side
copies:      b2 (b1)