Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
all
-
None
Description
Note: this can probably be post 1.0, but just entering this as an FYI. Ben was mentioning to me the deal about ensuring higher RevisionIDs mean newer timestamp values. Apparently doing this in cvs2svn is fairly complicated. (I took Ben and Ben's report of Greg saying this was hard/maybe impossible as true.) It'd be nice to insert every revision in time stamp order. I looked at the schema wondering if it was possible for cvs2svn to create a bunch of pending transactions and commit all of the transactions at once in correct time stamp order. The only thing that blocked us from doing this was the Copy table. Specifically, SRC-Rev-ID. If we changed SRC-Rev-ID to SRC-Txn-ID this problem would go away. If we did this, we'd need to add additional logic at commit time to verify that any new Copy rows being committed in the Transaction we're trying to commit didn't reference a SRC-Txn-ID that hasn't been committed yet. This is necessary to prevent odd Copy records from getting inserted. We can get away with this because the Transaction table should always contain a pointer to the root node of the transaction. This is semantically equivalent to the existing SRC-Rev-ID. Additionally, it'd make changing to handle importing a pending transaction from a distributed repository for examination, conflict resolution, etc simple since branches/file renames need to be importable. Definately not necessary for 1.0, but it does allow cvs2svn to commit everything in timestamp order.
Original issue reported by rassilon