view tests/test-mq-pull-from-bundle.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 561ff8d9e4f0
children a3d73b3e1f8a
line wrap: on
line source

====== Setup main
adding one
====== Bundle main
2 changesets found
====== Incoming to fresh repo
>> hg -R fresh incoming main.hg
comparing with main.hg
0: main: one added.
1: main: one updated.
>> hg -R fresh incoming bundle:fresh+main.hg
comparing with bundle:fresh+main.hg
0: main: one added.
1: main: one updated.
====== Setup queue
adding two
popping two.patch
patch queue now empty
====== Bundle queue
1 changesets found
====== Clone base
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
====== Incoming queue bundle
>> hg -R .hg/patches incoming ../queue.hgq
comparing with ../queue.hgq
0: queue: two.patch added.
====== Pull queue bundle
>> hg -R .hg/patches pull --update ../queue.hgq
pulling from ../queue.hgq
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
merging series
2 files updated, 1 files merged, 0 files removed, 0 files unresolved
>> hg -R .hg/patches heads
0: queue: two.patch added.
>> hg -R .hg/patches log
0: queue: two.patch added.
>> hg qseries
two.patch
====== Clone base again
updating working directory
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
====== Unbundle queue bundle
>> hg -R .hg/patches unbundle --update ../queue.hgq
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
merging series
2 files updated, 1 files merged, 0 files removed, 0 files unresolved
>> hg -R .hg/patches heads
0: queue: two.patch added.
>> hg -R .hg/patches log
0: queue: two.patch added.
>> hg qseries
two.patch