I have been using tailor to synchronize hg->svn and it's mostly working wonderfully BUT I have one issue that has arisen a couple of times now - it seems that sometimes the Hg changesets can end up deleting a file twice (that is, a changeset deletes a file then a subsequent changeset (usually a merge I think) ends up modifying and then deleting the same element).
The svn backend ends up barfing on this because it attempts to commit a change referencing the deleted element - this is OK if the pending change is to remove the element (i.e. when the first changeset is processed) but then you get a failure when the second delete is attempted - the attached shows extracts from an actual case where this happened. It seems bogus to me that Hg allows this but clearly it does so tailor should deal with it -- for the moment, I've implemented a hack such that ALL svn commits simply use '.' as the target of a commit (so it always checks in all changes to the target tree) but I'm guessing this is not optimal! Any suggestions? Simon === log extract 2006-09-25 12:15:32 INFO: Changeset "92bfc59726a4ebfff76994bce9445cb93fce9f76" 2006-09-25 12:15:32 INFO: Log message: [XM] Move 'xm sysrq' into main.py * There's not need for sysrq to be in its own file. * Bonus advantage: can use arg_check rather than gopts for argument validation. Signed-off-by: Alastair Tse <[EMAIL PROTECTED]> 2006-09-25 12:15:32 INFO: Updating to '92bfc59726a4ebfff76994bce9445cb93fce9f76' 2006-09-25 12:15:33 INFO: $ rsync --archive --exclude .hg --exclude .svn --exclude .hgtags /sandbox/sgraham/xen/xen-unstable/source/ /sandbox/sgraham/xen/xen-unstable/target 2006-09-25 12:15:34 INFO: [Ok] 2006-09-25 12:15:34 INFO: /sandbox/sgraham/xen/xen-unstable/target $ svn remove --quiet --force tools/python/xen/xm/sysrq.py 2006-09-25 12:15:34 INFO: [Ok] 2006-09-25 12:15:34 INFO: /sandbox/sgraham/xen/xen-unstable/target $ svn commit --file /tmp/tailorVx3Vnysvn tools/python/xen/xm/main.py tools/python/xen/xm/sysrq.py tools/python/xen/xm/sysrq.py 2006-09-25 12:15:37 INFO: [Ok] 2006-09-25 12:15:37 INFO: /sandbox/sgraham/xen/xen-unstable/target $ svn update --quiet --ignore-externals --revision 4389 2006-09-25 12:15:41 INFO: [Ok] 2006-09-25 12:15:41 INFO: -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* .... 2006-09-25 12:16:06 INFO: Changeset "cdd03c7ec8d33df2f382015b781b2d1e5f095b6e" 2006-09-25 12:16:06 INFO: Log message: Merge. 2006-09-25 12:16:06 INFO: Updating to 'cdd03c7ec8d33df2f382015b781b2d1e5f095b6e' 2006-09-25 12:16:09 INFO: $ rsync --archive --exclude .hg --exclude .svn --exclude .hgtags /sandbox/sgraham/xen/xen-unstable/source/ /sandbox/sgraham/xen/xen-unstable/target 2006-09-25 12:16:09 INFO: [Ok] 2006-09-25 12:16:09 INFO: /sandbox/sgraham/xen/xen-unstable/target $ svn remove --quiet --force tools/python/xen/xm/sysrq.py 2006-09-25 12:16:09 INFO: [Ok] 2006-09-25 12:16:09 INFO: /sandbox/sgraham/xen/xen-unstable/target $ svn commit --file /tmp/tailora5S6fssvn tools/python/xen/xm/sysrq.py tools/python/xen/xm/sysrq.py 2006-09-25 12:16:09 WARNING: [Status 1] 2006-09-25 12:16:09 CRITICAL: Couldn't replay changeset 2006-09-25 12:16:09 INFO: 25 pending changesets in state file 2006-09-25 12:16:09 CRITICAL: Upstream change application failed _______________________________________________ Tailor mailing list [email protected] http://lists.zooko.com/mailman/listinfo/tailor
