view tests/test-rebase-scenario-global.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 7b19cda0fa10
children b91960aed018
line wrap: on
line source

@  5: F
|
| o  4: E
|/|
o |  3: D
| |
| o  2: C
|/
| o  1: B
|/
o  0: A

% Rebasing
% B onto F - simple rebase
saving bundle to 
adding branch
adding changesets
adding manifests
adding file changes
added 5 changesets with 4 changes to 4 files (+1 heads)
rebase completed
@  5: B
|
o  4: F
|
| o  3: E
|/|
o |  2: D
| |
| o  1: C
|/
o  0: A

% B onto D - intermediate point
saving bundle to 
adding branch
adding changesets
adding manifests
adding file changes
added 5 changesets with 4 changes to 4 files (+2 heads)
rebase completed
@  5: B
|
| o  4: F
|/
| o  3: E
|/|
o |  2: D
| |
| o  1: C
|/
o  0: A

% C onto F - skip of E
saving bundle to 
adding branch
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 3 files (+1 heads)
rebase completed
@  4: C
|
o  3: F
|
o  2: D
|
| o  1: B
|/
o  0: A

% D onto C - rebase of a branching point (skip E)
saving bundle to 
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
rebase completed
@  4: F
|
o  3: D
|
o  2: C
|
| o  1: B
|/
o  0: A

% E onto F - merged revision having a parent in ancestors of target
saving bundle to 
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 1 changes to 1 files (-1 heads)
rebase completed
@    5: E
|\
| o  4: F
| |
| o  3: D
| |
o |  2: C
|/
| o  1: B
|/
o  0: A

% D onto B - E maintains C as parent
saving bundle to 
adding branch
adding changesets
adding manifests
adding file changes
added 3 changesets with 2 changes to 2 files
rebase completed
@  5: F
|
| o  4: E
|/|
o |  3: D
| |
| o  2: C
| |
o |  1: B
|/
o  0: A

% These will fail
% E onto D - rebase onto an ancestor
abort: cannot rebase a descendant
% D onto E - rebase onto a descendant
abort: cannot rebase an ancestor
% E onto B - merge revision with both parents not in ancestors of target
abort: cannot use revision 4 as base, result would have 3 parents