Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_prev.tcl part of check-in [e1dbf3186d] - Reworked the revision import to use the new state tracking system instead of the simple array. Moved some log outputs. Added a file listing the known problems to prevent me from forgetting stuff as it piles up :/ by aku on 2008-02-04 06:05:11. [view]

To:

File tools/cvs2fossil/lib/c2f_prev.tcl part of check-in [a1bbf19d51] - Accept a last trunk-changeset on a vendor branch with the :trunk: already defined, and warn. Force changeset to be vendor-only, out of trunk. by aku on 2008-02-05 06:09:27. [view]

@@ -429,12 +429,21 @@
 
 	# Remember the imported changeset in the state, under our
 	# LOD. And if it is the last trunk changeset on the vendor
 	# branch then the revision is also the actual root of the
-	# :trunk:, so we remember it as such in the state.
+	# :trunk:, so we remember it as such in the state. However if
+	# the trunk already exists then the changeset cannot be on it
+	# any more. This indicates weirdness in the setup of the
+	# vendor branch, but one we can work around.
 
 	$lws defid $uuid
-	if {$lastdefaultontrunk} { $rstate new :trunk: [$lws name] }
+	if {$lastdefaultontrunk} {
+	    if {[$rstate has :trunk:]} {
+		log write 2 csets {Multiple changesets declared to be the last trunk changeset on the vendor-branch}
+	    } else {
+		$rstate new :trunk: [$lws name]
+	    }
+	}
 
 	# Remember the whole changeset / uuid mapping, for the tags.
 
 	state run {