Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_pcollrev.tcl part of check-in [b679ca3356] - Code cleanup. Removed trailing whitespace across the board. by aku on 2007-11-25 07:54:09. [view]

To:

File tools/cvs2fossil/lib/c2f_pcollrev.tcl part of check-in [79c227a9c0] - Bugfix. Handle free-floating branches (their root revision was removed as unnecessary). by aku on 2007-12-01 18:36:26. [view]

@@ -183,12 +183,19 @@
 	    fid   INTEGER  NOT NULL  REFERENCES file,     -- File the item belongs to
 	    lod   INTEGER            REFERENCES symbol,   -- Line of development (NULL => Trunk)
 	    sid   INTEGER  NOT NULL  REFERENCES symbol,   -- Symbol capturing the branch
 
-	    root  INTEGER  NOT NULL  REFERENCES revision, -- Revision the branch sprouts from
+	    root  INTEGER            REFERENCES revision, -- Revision the branch sprouts from
 	    first INTEGER            REFERENCES revision, -- First revision committed to the branch
 	    bra   TEXT     NOT NULL,                      -- branch number
 	    pos   INTEGER  NOT NULL                       -- creation order in root.
+
+	    -- A branch can exist without root. It happens when the
+            -- only revision on trunk is the unnecessary dead one the
+            -- branch was sprouted from and it has commits. The branch
+            -- will exist to be the LOD of its revisions, nothing to
+            -- sprout from, the dead revision was removed, hence no
+            -- root.
 	}
 
 	# Project level ...
 	#	pLineOfDevelopment, pSymbol, pBranch, pTag, pTrunk