>>>>> Scott Lamb writes:
Scott> TRY 1 =====
Scott> (Inefficiently) checking out the entire repository and
Scott> using a before- commit hook to handle selecting the right
Scott> files and adjusting the paths:
Scott> ... This fails. It looks I didn't succeed in changing the
Scott> entry.name completely. With verbose=True, I see this
Scott> output:
Scott> ...
Scott> Note the last line, in which the entry names were not
Scott> altered.
Uhm, two things: first, I'm afraid it's not enough to alter the name
of the entry as you did, but the concrete file on the filesystem
should be moved too; second, I see the reason for the misleading error
message: what happens is something like::
for cs in pending_changesets:
try:
adapted = adapt_changeset(cs) # <- here happens the before-commit
# here adapted is generally a *deepcopy* of the changeset
replay_changeset(adapted)
except:
error("couldn't replay %s" % cs)
So effectively the error prints out the *original* cs, not the one it
tried to replay...
Scott> TRY 2 =====
Scott> Import revisions [579, 1132) with module="projects/sigsafe"
Scott> then revisions (1132, head] with
Scott> module="trunk/projects/sigsafe".
Scott> Not real successful this way either. First, I noticed
Scott> there's no "end- revision" property to go with
Scott> "start-revision". There's also this:
Yes, this should be added, it's just so a common request! I needed
this just once, and used before-commit to cut off the tail of
changesets...
Scott> 21:20:09 [I] /tmp/test $ svn log --verbose --xml
Scott> --revision 579 21:20:09 [W] [Status 1] 21:20:09 [C]
Scott> Checkout of sigsafe failed!
Scott> It appears that "svn log --revision 579
Scott> https://www.slamb.org/svn/ projects/[EMAIL PROTECTED]" succeeds,
Scott> but "svn log --revision 579 https://
Scott> www.slamb.org/svn/projects/sigsafe" looks for the history
Scott> of the node at that path in head. It fails. The WC-relative
Scott> path functions in the same way. The latter case seems
Scott> pretty lame to me (should know what node I'm talking about
Scott> from the revision of the wc), but that's how it is as of
Scott> subversion 1.4.2.
Sorry, I'm not sure to understand the implications of this.
Scott> TRY 3 =====
Scott> produce with "svnadmin dump" and "svnadmin restore" a
Scott> Subversion working copy with the history in one path, then
Scott> run tailor. Seems doable in concept, but "svndumpfilter"
Scott> doesn't have options for adjusting paths - just including
Scott> and excluding them - so I'd need to roll my own tool.
IIRC, there was a svndumpfilter implemented in Python, that allowed
such things.
Anyway, have you tried using different nested working dirs? I mean
something like:
[proj_a]
source = svn:
target = hg:
root-directory = /tmp/test
[svn:proj_a]
repository = ...
module = ...
subdir = .
[hg:proj_a]
...
subdir = projects/
[proj_b]
source = svn:
target = hg:
root-directory = /tmp/test
[svn:proj_b]
repository = ...
module = ...
subdir = .
[hg:proj_b]
...
subdir = trunk/projects/
hth, and let me know if it does :)
ciao, lele.
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor