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

Reply via email to