Lele Gaifax wrote:
> Tailor does not know anything about branches, and has a very limited
> support for tags. This comes from the fact that tailor was born to
> migrate changesets between /different/ kind of VCS, and thus it
> supports only those operations making sense on both ends: "history
> preserving copy" is available only on Subversion, while on most modern
> DVCS that's just a "branch".

Agreed, but a copy in Subversion is just a branch as you call it, (as is an
integrate in Perforce).

>> Is the destructive use of rsync required when the full history is
>> available in the log (to re-enact)?
> 
> Sorry, I do not understand the question, and in particular the
> "destructive" use of rsync...

Sorry, a poor choice of words. I meant destructive in the sense of history,
namely by doing two checkouts, then rsyncing from the source to the target,
yes you get all the content modifications, but you lose all other
operational history, namely things like copy or branching history, or any
other actions that might be available. All you get history-wise are
deletions of old files, additions of new files, or modifications of changed
files. If tailor stepped over the log "replaying" the actions therein (copy
a-b, etc.) in the grammar of the target VCS, you could be able to transfer
a far richer history. Admittedly, it's almost certainly a lot more work,
which is why I appreciate the rsync solution is great for most people.

>> The main advantage I wanted from tailor was to provide me full
>> access to the history of the vendor code I'm importing when merging
>> in my own repository, but without copy history it kind of falls down
>> slightly in that regard. It's still better than a en-masse code
>> import, but not quite what I thought it was capable of initially :(
> 
> Tailor did/does a great job for me, with exactly that goal, but I'm
> mostly using it to migrate "vendor code" to my own set of darcs
> repositories from whatever system "vendor" used. For my purposes, I
> usually track just a single line of development at a time (that is, I
> usually do not convert the whole upstream SVN repository with /trunk,
> /branches and /tags, but rather just /trunk, or just
> /branches/the-interesting-one).

Yeah, I mainly wanted things like tags though so I could track which
versions of files come together to form the various releases and being able
to track them back diff-by-diff if need be.

>> I was kind of expecting tailor to checkout a revision, read the log
>> actions, replay them, then check in the result and fix up anything
>> required (author, date, etc).
> 
> That's what tailor actually does, more or less. 
> 
> ciao, lele.

See, I figured that's what it was doing (I found things in the file
http://progetti.arstecnica.it/tailor/browser/vcpx/repository/svn.py#L706
that suggests that I should be seeing copies being made in my history, but
I don't. Looking at the debug history, all I see for each imported revision
is a checkout, an rsync, then a checkin (meaning that the svn client does
all the work looking at what's been deleted or added). No fancy
interpretation of the log at all, and thus no copies or tagging. I plan on
adding loads of tracing into tit to get a better feel for how it's
operating and seeing if I can get it preserving more, but I just wanted to
clarify with those in the know what I should be seeing with the current
feature set before I go messing around with it. :)

Cheers,
- Jamie

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Tailor mailing list
Tailor@lists.zooko.com
http://lists.zooko.com/mailman/listinfo/tailor

Reply via email to