Fixing
issue1542, adding a relevant test
inotify is smart enough to notify you about any changes in a
directory, even if you only watch the directory, and none if its
contents: the recursive add_watch I added was unnecessary.
The only thing that matters here is the recursive status update on
directory deletion.
And scan() has to be called _before_ the deferred call is registered.
(race condition: depending on the times, the previous patch could
apparently fail on the provided test. It's not the case anymore.)
changeset: 3:593cbf6fb2b4
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Added tag some-tag for changeset ad681a868e44
changeset: 2:ad681a868e44
tag: some-tag
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo/file
changeset: 1:cbba8ecc03b7
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: remove foo
changeset: 0:327daa9251fa
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo and bar
initializing destination new repository
scanning source...
sorting...
converting...
3 add foo and bar
2 remove foo
1 add foo/file
0 Added tag some-tag for changeset ad681a868e44
comparing with ../orig
searching for changes
no changes found
% dirstate should be empty:
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
% put something in the dirstate:
a 0 -1 unset baz
copy: bar -> baz
% add a new revision in the original repo
scanning source...
sorting...
converting...
0 add baz
comparing with ../orig
searching for changes
no changes found
% dirstate should be the same (no output below):
% no copies
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
baz not renamed