Differences From:
File
tools/cvs2fossil/lib/c2f_file.tcl
part of check-in
[83d75a6c23]
- Modified filtering pass to drop the blobs of excluded revisions, for them we can be sure that we will not need them later, as whole branches are dropped. Modified the file import to use the new blob information to setup the expansion graph. This fixes the trouble we had with archive files in bwidget. They are now properly expanded.
by
aku on
2008-02-03 00:45:57.
[view]
To:
File
tools/cvs2fossil/lib/c2f_file.tcl
part of check-in
[3e76f2a5f0]
- Removed the now obsolete textrange information from the revision table and updated the file revision code to not store its textrange any longer.
by
aku on
2008-02-03 01:33:45.
[view]
@@ -225,8 +225,10 @@
set lod [$self GetLOD $revnr]
$rev setmeta [$myproject defmeta [$lod id] $myaid($revnr) $cmid]
+ # Note: We keep settext on file::rev for the hastext queries
+ # used by several checks.
$rev settext $textrange
$rev setlod $lod
$myblob extend $revnr $textrange
@@ -300,10 +302,14 @@
set zp [struct::graph zp] ; # Zip/Import graph.
close [open $dir/r__empty__ w];# Base for detached roots on branches.
- # Phase I: Pull the revisions from memory and fill the graphs
- # with them...
+ # Phase I: Pull blobs and referenced revisions from the state
+ # and fill the graphs with them...
+
+ # Note: We use the blobs for expansion because we need them
+ # all, even those without revision, for both proper
+ # ordering and exact patch application.
set earcs {} ; # Arcs for expansion graph
set zarcs {} ; # Arcs for zip graph
set revmap {} ; # path -> rid map to later merge uuid information
@@ -319,8 +325,10 @@
# all. The expansion graph is blob based, whereas the
# recompression graph is revision based.
if {$revnr ne ""} {
+ # Blob has revision, extend recompression graph.
+
lappend revmap r$revnr $rid
$zp node insert $rid
$zp node set $rid revnr $revnr