Overview
SHA1 Hash: | 812c91bb8da14910a5d9418bcbf1b92b0ebe8505 |
---|---|
Date: | 2008-02-04 06:26:46 |
User: | aku |
Comment: | Added some musings to one of the situations to deal with. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified cvs2fossil.txt from [0a03724c01] to [9547bce2db].
@@ -30,10 +30,39 @@ i.e. CVS integrity failure, force the user to manually edit the RCS archives to bring the symbol used for the vendor branch into sync. Or if I should allow the import to let this slide by, by simply assuming that all such second changesets should not try to create the :trunk: if it exists. + + --- + Another possibility is to somehow identify such symbols and + rewrite the structures on my own, i.e. choose one of the + symbols as the canonical vendor branch V and rewrite all + revisions using other vendor branch symbols to use V. This + would have to happen somewhere in either pass CollateSymbols + or in pass FilterSymbols. + + Thinking about it would have to happen before we even start to + aggregate the branch/tag/commit counts, so that all of them + apply to V later on, instead of spread over several symbols. + + Luckily we have all the relevant information in the state + database, in the tables 'revision' and 'symbol'. + + Thinking even more, this type of symbol rewriting, whether by + the importer, or directly in the rcs archives before doing the + import, will not address the fact that both changesets will + have file revisions in them which declare that they are the + last trunk changeset on the vendor branch, despite the second + changeset added about three years after the previous last + trunk changeset on the vendor branch. + + It seems that I will have to rewrite the changeset import to + simply allow for this situation and force the second changeset + (and any further) to be non-trunk on the vendor-branch, + whatever I do after collecting the revision. And if I do that + I don't really a good reason to rewrite the symbols. * An internal error thrown when trying to import bwidget of tcllib shows that there have to be some situation I am not handling correctly in the cycle-breaker and sorting passes.