Just pasting those lines into a shell should demonstrate the bug I
was talking about.
I've gotten a comment on my blog post on this topic that explains
what's happening: the "copy" command on a mercurial repository expects
you to perform the copy in the filesystem first. If not, it fails
silently (well, it prints the error message, but it doesn't throw an
exception or anything). So I patched tailor to do the copy first, and
it seems to work OK. (see the attached patch)
I don't know if there's a better solution (e.g., something as simple
as using shellutils). Another reply on this bug suggested that tailor
should be rewritten to use a different API. That may be, but OTOH this
would be a reasonable temporary fix if it doesn't break anything else.