setup.py: skip inotify if there's no inotify_add_watch
Debian Etch doesn't include a sys/inotify.h header, which makes it
impossible to compile _inotify.c, making hg uninstallable.
The cc.has_function() method is implemented by trying to compile a
simple C program. Since there's no redirection involved all error
messages are sent to the terminal. This is not particularly pretty
but at least it allows the installation to complete.
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
merging bar and foo
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% contents of bar should be line0 line1 line2
line0
line1
line2
rev offset length base linkrev nodeid p1 p2
0 0 77 0 2 da78c0659611 000000000000 000000000000
1 77 76 0 3 4b358025380b 000000000000 da78c0659611
bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
rev offset length base linkrev nodeid p1 p2
0 0 7 0 0 690b295714ae 000000000000 000000000000
1 7 13 1 1 9e25c27b8757 690b295714ae 000000000000
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4:2d2f9a22c82b 2:0a3ab4856510
3:7d3b554bfdf1 2:0a3ab4856510 1:5cd961e4045d
2:0a3ab4856510 0:2665aaee66e9
1:5cd961e4045d
0:2665aaee66e9
% this should use bar@rev2 as the ancestor
resolving manifests
overwrite None partial False
ancestor 0a3ab4856510 local 2d2f9a22c82b+ remote 7d3b554bfdf1
searching for copies back to rev 1
bar: versions differ -> m
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
my bar@2d2f9a22c82b+ other bar@7d3b554bfdf1 ancestor bar@0a3ab4856510
premerge successful
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% contents of bar should be line1 line2
line1
line2
rev offset length base linkrev nodeid p1 p2
0 0 77 0 2 da78c0659611 000000000000 000000000000
1 77 76 0 3 4b358025380b 000000000000 da78c0659611
2 153 7 2 4 4defe5eec418 da78c0659611 000000000000
3 160 13 3 5 4663501da27b 4defe5eec418 4b358025380b
requesting all changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files (+1 heads)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
merging foo and bar
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% contents of bar should be line0 line1 line2
line0
line1
line2
rev offset length base linkrev nodeid p1 p2
0 0 77 0 2 da78c0659611 000000000000 000000000000
1 77 76 0 3 4b358025380b 000000000000 da78c0659611
bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
rev offset length base linkrev nodeid p1 p2
0 0 7 0 0 690b295714ae 000000000000 000000000000
1 7 13 1 1 9e25c27b8757 690b295714ae 000000000000
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4:2d2f9a22c82b 2:0a3ab4856510
3:96ab80c60897 1:5cd961e4045d 2:0a3ab4856510
2:0a3ab4856510 0:2665aaee66e9
1:5cd961e4045d
0:2665aaee66e9
% this should use bar@rev2 as the ancestor
resolving manifests
overwrite None partial False
ancestor 0a3ab4856510 local 2d2f9a22c82b+ remote 96ab80c60897
searching for copies back to rev 1
bar: versions differ -> m
picked tool 'internal:merge' for bar (binary False symlink False)
merging bar
my bar@2d2f9a22c82b+ other bar@96ab80c60897 ancestor bar@0a3ab4856510
premerge successful
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% contents of bar should be line1 line2
line1
line2
rev offset length base linkrev nodeid p1 p2
0 0 77 0 2 da78c0659611 000000000000 000000000000
1 77 76 0 3 4b358025380b 000000000000 da78c0659611
2 153 7 2 4 4defe5eec418 da78c0659611 000000000000
3 160 13 3 5 4663501da27b 4defe5eec418 4b358025380b