Mercurial > hg
view tests/test-ssh.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 | 0750f11152fe |
children | a3d73b3e1f8a |
line wrap: on
line source
# creating 'remote' # repo not found error remote: abort: There is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! # clone remote via stream streaming all changes XXX files to transfer, XXX bytes of data transferred XXX bytes in XXX seconds (XXX XB/sec) updating working directory XXX files updated, XXX files merged, XXX files removed, XXX files unresolved checking changesets checking manifests crosschecking files in changesets and manifests checking files 2 files, 1 changesets, 2 total revisions # clone remote via pull requesting all changes adding changesets adding manifests adding file changes added 1 changesets with 2 changes to 2 files updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved # verify checking changesets checking manifests crosschecking files in changesets and manifests checking files 2 files, 1 changesets, 2 total revisions # empty default pull default = ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes no changes found # local change # updating rc # find outgoing comparing with ssh://user@dummy/remote searching for changes changeset: 1:572896fe480d tag: tip user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: add # find incoming on the remote side comparing with ssh://user@dummy/local searching for changes changeset: 1:572896fe480d tag: tip user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: add # push pushing to ssh://user@dummy/remote searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files # check remote tip changeset: 1:572896fe480d tag: tip user: test date: Mon Jan 12 13:46:40 1970 +0000 summary: add checking changesets checking manifests crosschecking files in changesets and manifests checking files 2 files, 2 changesets, 3 total revisions bleah created new head # push should succeed even though it has an unexpected response pushing to ssh://user@dummy/remote searching for changes note: unsynced remote changes! remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files remote: KABOOM changeset: 3:ac7448082955 tag: tip parent: 1:572896fe480d user: test date: Mon Jan 12 13:46:42 1970 +0000 summary: z changeset: 2:187c6caa0d1e parent: 0:e34318c26897 user: test date: Mon Jan 12 13:46:41 1970 +0000 summary: z Got arguments 1:user@dummy 2:hg -R nonexistent serve --stdio Got arguments 1:user@dummy 2:hg -R remote serve --stdio Got arguments 1:user@dummy 2:hg -R remote serve --stdio Got arguments 1:user@dummy 2:hg -R remote serve --stdio Got arguments 1:user@dummy 2:hg -R remote serve --stdio Got arguments 1:user@dummy 2:hg -R local serve --stdio Got arguments 1:user@dummy 2:hg -R remote serve --stdio changegroup-in-remote hook: HG_NODE=572896fe480d7581849806ee402175c49cb20037 HG_SOURCE=serve HG_URL=remote:ssh:127.0.0.1 Got arguments 1:user@dummy 2:hg -R remote serve --stdio changegroup-in-remote hook: HG_NODE=ac7448082955a0b2ff5cb4512c1e061c779bbc79 HG_SOURCE=serve HG_URL=remote:ssh:127.0.0.1