inotify: change protocol so that different query types can be supported.
% tedious monotone keys configuration
% create monotone repository
mtn: adding a to workspace manifest
mtn: adding bin to workspace manifest
mtn: adding c to workspace manifest
mtn: adding dir to workspace manifest
mtn: adding dir/b to workspace manifest
mtn: adding dir/d to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 0f6e5e4f2e7d2a8ef312408f57618abf026afd90
% update monotone working directory
mtn: skipping dir, already accounted for in workspace
mtn: renaming a to dir/a in workspace manifest
mtn: dropping c from workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 51d0a982464573a2a2cf5ee2c9219c652aaebeff
% convert once
assuming destination repo.mtn-hg
initializing destination repo.mtn-hg repository
scanning source...
sorting...
converting...
1 initialize
0 update1
mtn: adding e to workspace manifest
mtn: dropping dir/b from workspace manifest
mtn: renaming bin to bin2 in workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision ebe58335d85d8cb176b6d0a12be04f5314b998da
% test directory move
mtn: adding dir1 to workspace manifest
mtn: adding dir1/subdir1 to workspace manifest
mtn: adding dir1/subdir1/file1 to workspace manifest
mtn: adding dir1/subdir2_other to workspace manifest
mtn: adding dir1/subdir2_other/file1 to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision a8d62bc04fee4d2936d28e98bbcc81686dd74306
mtn: skipping dir1, already accounted for in workspace
mtn: renaming dir1/subdir1 to dir1/subdir2 in workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 2c3d241bbbfe538b1b51d910f5676407e3f4d3a6
% test subdirectory move
mtn: renaming dir to dir2 in workspace manifest
mtn: dropping dir2/d from workspace manifest
mtn: adding dir2/newfile to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision fdb5a02dae8bfce3a79b3393680af471016e1b4c
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 8bbf76d717001d24964e4604739fdcd0f539fc88
mtn: dropping dir2/dir/subdir/f from workspace manifest
mtn: dropping dir2/dir/subdir from workspace manifest
mtn: dropping dir2/dir/emptydir from workspace manifest
mtn: dropping dir2/dir from workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 2323d4bc324e6c82628dc04d47a9fd32ad24e322
% test directory and file move
mtn: adding dir3 to workspace manifest
mtn: adding dir3/a to workspace manifest
mtn: adding dir3/d1 to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 47b192f720faa622f48c68d1eb075b26d405aa8b
mtn: skipping dir3/d1, already accounted for in workspace
mtn: renaming dir3/a to dir3/d1/a in workspace manifest
mtn: skipping dir3, already accounted for in workspace
mtn: renaming dir3/d1 to dir3/d2 in workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 8b543a400d3ee7f6d4bb1835b9b9e3747c8cb632
% test directory move into another directory move
mtn: adding dir4 to workspace manifest
mtn: adding dir4/a to workspace manifest
mtn: adding dir5 to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 466e0b2afc7a55aa2b4ab2f57cb240bb6cd66fc7
mtn: renaming dir5 to dir6 in workspace manifest
mtn: skipping dir6, already accounted for in workspace
mtn: renaming dir4 to dir6/dir4 in workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 3d1f77ebad0c23a5d14911be3b670f990991b749
% test diverging directory moves
mtn: adding dir7 to workspace manifest
mtn: adding dir7/c to workspace manifest
mtn: adding dir7/dir9 to workspace manifest
mtn: adding dir7/dir9/b to workspace manifest
mtn: adding dir7/dir9/dir8 to workspace manifest
mtn: adding dir7/dir9/dir8/a to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 08a08511f18b428d840199b062de90d0396bc2ed
mtn: renaming dir7 to dir7-2 in workspace manifest
mtn: renaming dir7-2/dir9 to dir9-2 in workspace manifest
mtn: renaming dir9-2/dir8 to dir8-2 in workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 4a736634505795f17786fffdf2c9cbf5b11df6f6
% convert incrementally
assuming destination repo.mtn-hg
scanning source...
sorting...
converting...
11 update2 "with" quotes
10 createdir1
9 movedir1
8 movedir
7 emptydir
6 dropdirectory
5 dirfilemove
4 dirfilemove2
3 dirdirmove
2 dirdirmove2
1 divergentdirmove
0 divergentdirmove2
11 files updated, 0 files merged, 0 files removed, 0 files unresolved
@ 13 "divergentdirmove2" files: dir7-2/c dir7/c dir7/dir9/b dir7/dir9/dir8/a dir8-2/a dir9-2/b
|
o 12 "divergentdirmove" files: dir7/c dir7/dir9/b dir7/dir9/dir8/a
|
o 11 "dirdirmove2" files: dir4/a dir6/dir4/a
|
o 10 "dirdirmove" files: dir4/a
|
o 9 "dirfilemove2" files: dir3/a dir3/d2/a
|
o 8 "dirfilemove" files: dir3/a
|
o 7 "dropdirectory" files: dir2/dir/subdir/f
|
o 6 "emptydir" files: dir2/dir/subdir/f
|
o 5 "movedir" files: dir/a dir/d dir2/a dir2/newfile
|
o 4 "movedir1" files: dir1/subdir1/file1 dir1/subdir2/file1
|
o 3 "createdir1" files: dir1/subdir1/file1 dir1/subdir2_other/file1
|
o 2 "update2 "with" quotes" files: bin bin2 dir/b e
|
o 1 "update1" files: a bin c dir/a dir/b
|
o 0 "initialize" files: a bin c dir/b dir/d
% manifest
bin2
dir1/subdir2/file1
dir1/subdir2_other/file1
dir2/a
dir2/newfile
dir3/d2/a
dir6/dir4/a
dir7-2/c
dir8-2/a
dir9-2/b
e
% contents
a
a
% file move
copies: dir/a (a)
% check directory move
bin2
dir/a
dir/d
dir1/subdir2/file1
dir1/subdir2_other/file1
e
copies: dir1/subdir2/file1 (dir1/subdir1/file1)
% check file remove with directory move
bin2
dir1/subdir2/file1
dir1/subdir2_other/file1
dir2/a
dir2/newfile
e
% check file move with directory move
bin2
dir1/subdir2/file1
dir1/subdir2_other/file1
dir2/a
dir2/newfile
dir3/d2/a
e
% check file directory directory move
bin2
dir1/subdir2/file1
dir1/subdir2_other/file1
dir2/a
dir2/newfile
dir3/d2/a
dir6/dir4/a
e
% check divergent directory moves
bin2
dir1/subdir2/file1
dir1/subdir2_other/file1
dir2/a
dir2/newfile
dir3/d2/a
dir6/dir4/a
dir7-2/c
dir8-2/a
dir9-2/b
e