Fossil SCM

Started on pass 6, breaking cycles between revision based changesets. Added skeleton files.

aku 2007-11-11 00:08 trunk
Commit 2a01d50430e9c9e4a89e3af2d6db0ada5391f45d
--- a/tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
+++ b/tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
@@ -0,0 +1,27 @@
1
+set changesets [Changesets]
2
+ cyclebreaker dot break-rev-start $changesets$changesets
3
+ }
4
+
5
+ cyclebreaker dot [myproc SaveOrder] [myproc Savdone $changesets\
6
+ \
7
+ [myproc SaveOrder]
8
+ }
9
+ [Changesets]
10
+ cyclebreaker dot break-rev-start $changesets$changegraph; # Graph handlinglink ; # Cycle links.
11
+ [Changesets]
12
+ cyclebreaker dot break-rev-start $changesets$changeloarun[Changesets]
13
+ cset changesets [Changesets]
14
+ cyclebreaker dot break-rev-start $changesets$changesets
15
+ }
16
+
17
+ cycleb# We create a graph of the revision changesets, using the file
18
+ # level dependencies to construct a first approximation of
19
+ # them at the project level. Then look for cycles in that
20
+ # graph and break them.
21
+
22
+ # 1. Create nodes for all relevant changesets and a mapping
23
+ # from the revisions to their changesnodes.
24
+
25
+ log write 3 breakrcycle {Creating changeset graph, filling with nodgraph, filling with nodes}
26
+:graChangesets]
27
+ cyclebreaker dot set
--- a/tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
+++ b/tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
+++ b/tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
@@ -0,0 +1,27 @@
1 set changesets [Changesets]
2 cyclebreaker dot break-rev-start $changesets$changesets
3 }
4
5 cyclebreaker dot [myproc SaveOrder] [myproc Savdone $changesets\
6 \
7 [myproc SaveOrder]
8 }
9 [Changesets]
10 cyclebreaker dot break-rev-start $changesets$changegraph; # Graph handlinglink ; # Cycle links.
11 [Changesets]
12 cyclebreaker dot break-rev-start $changesets$changeloarun[Changesets]
13 cset changesets [Changesets]
14 cyclebreaker dot break-rev-start $changesets$changesets
15 }
16
17 cycleb# We create a graph of the revision changesets, using the file
18 # level dependencies to construct a first approximation of
19 # them at the project level. Then look for cycles in that
20 # graph and break them.
21
22 # 1. Create nodes for all relevant changesets and a mapping
23 # from the revisions to their changesnodes.
24
25 log write 3 breakrcycle {Creating changeset graph, filling with nodgraph, filling with nodes}
26 :graChangesets]
27 cyclebreaker dot set
--- tools/cvs2fossil/lib/cvs2fossil.tcl
+++ tools/cvs2fossil/lib/cvs2fossil.tcl
@@ -22,21 +22,22 @@
2222
# # ## ### ##### ######## ############# #####################
2323
## Passes. The order in which the import passes are loaded is
2424
## important. It is the same order they will register, and then be run
2525
## in.
2626
27
-package require vc::fossil::import::cvs::pass::collar ; # Coll'ect Ar'chives.
28
-package require vc::fossil::import::cvs::pass::collrev ; # Coll'ect Rev'isions.
29
-package require vc::fossil::import::cvs::pass::collsym ; # Coll'ate Sym'bols
30
-package require vc::fossil::import::cvs::pass::filtersym ; # Filter' Sym'bols
27
+package require vc::fossil::import::cvs::pass::collar ; # Coll'ect Ar'chives.
28
+package require vc::fossil::import::cvs::pass::collrev ; # Coll'ect Rev'isions.
29
+package require vc::fossil::import::cvs::pass::collsym ; # Coll'ate Sym'bols
30
+package require vc::fossil::import::cvs::pass::filtersym ; # Filter' Sym'bols
3131
3232
# Note: cvs2svn's SortRevisionSummaryPass and SortSymbolSummaryPass
3333
# are not implemented by us. They are irrelevant due to our use
3434
# of a relational database proper for the persistent state,
3535
# allowing us to sort the data on the fly as we need it.
3636
37
-package require vc::fossil::import::cvs::pass::initcsets ; # Init'ialize C'hange'Sets
37
+package require vc::fossil::import::cvs::pass::initcsets ; # Init'ialize C'hange'Sets
38
+package require vc::fossil::import::cvs::pass::breakrcycle ; # Break' R'evision Cycle's
3839
3940
# # ## ### ##### ######## ############# #####################
4041
## Support for passes etc.
4142
4243
package require vc::fossil::import::cvs::option ; # Cmd line parsing & database
4344
--- tools/cvs2fossil/lib/cvs2fossil.tcl
+++ tools/cvs2fossil/lib/cvs2fossil.tcl
@@ -22,21 +22,22 @@
22 # # ## ### ##### ######## ############# #####################
23 ## Passes. The order in which the import passes are loaded is
24 ## important. It is the same order they will register, and then be run
25 ## in.
26
27 package require vc::fossil::import::cvs::pass::collar ; # Coll'ect Ar'chives.
28 package require vc::fossil::import::cvs::pass::collrev ; # Coll'ect Rev'isions.
29 package require vc::fossil::import::cvs::pass::collsym ; # Coll'ate Sym'bols
30 package require vc::fossil::import::cvs::pass::filtersym ; # Filter' Sym'bols
31
32 # Note: cvs2svn's SortRevisionSummaryPass and SortSymbolSummaryPass
33 # are not implemented by us. They are irrelevant due to our use
34 # of a relational database proper for the persistent state,
35 # allowing us to sort the data on the fly as we need it.
36
37 package require vc::fossil::import::cvs::pass::initcsets ; # Init'ialize C'hange'Sets
 
38
39 # # ## ### ##### ######## ############# #####################
40 ## Support for passes etc.
41
42 package require vc::fossil::import::cvs::option ; # Cmd line parsing & database
43
--- tools/cvs2fossil/lib/cvs2fossil.tcl
+++ tools/cvs2fossil/lib/cvs2fossil.tcl
@@ -22,21 +22,22 @@
22 # # ## ### ##### ######## ############# #####################
23 ## Passes. The order in which the import passes are loaded is
24 ## important. It is the same order they will register, and then be run
25 ## in.
26
27 package require vc::fossil::import::cvs::pass::collar ; # Coll'ect Ar'chives.
28 package require vc::fossil::import::cvs::pass::collrev ; # Coll'ect Rev'isions.
29 package require vc::fossil::import::cvs::pass::collsym ; # Coll'ate Sym'bols
30 package require vc::fossil::import::cvs::pass::filtersym ; # Filter' Sym'bols
31
32 # Note: cvs2svn's SortRevisionSummaryPass and SortSymbolSummaryPass
33 # are not implemented by us. They are irrelevant due to our use
34 # of a relational database proper for the persistent state,
35 # allowing us to sort the data on the fly as we need it.
36
37 package require vc::fossil::import::cvs::pass::initcsets ; # Init'ialize C'hange'Sets
38 package require vc::fossil::import::cvs::pass::breakrcycle ; # Break' R'evision Cycle's
39
40 # # ## ### ##### ######## ############# #####################
41 ## Support for passes etc.
42
43 package require vc::fossil::import::cvs::option ; # Cmd line parsing & database
44
--- tools/cvs2fossil/lib/pkgIndex.tcl
+++ tools/cvs2fossil/lib/pkgIndex.tcl
@@ -1,31 +1,32 @@
11
# # ## ### ##### ######## ############# #####################
22
## Package management.
33
## Index of the local packages required by cvs2fossil
44
# # ## ### ##### ######## ############# #####################
55
if {![package vsatisfies [package require Tcl] 8.4]} return
6
-package ifneeded vc::fossil::import::cvs 1.0 [list source [file join $dir cvs2fossil.tcl]]
7
-package ifneeded vc::fossil::import::cvs::file 1.0 [list source [file join $dir c2f_file.tcl]]
8
-package ifneeded vc::fossil::import::cvs::file::lodmgr 1.0 [list source [file join $dir c2f_flodmgr.tcl]]
9
-package ifneeded vc::fossil::import::cvs::file::rev 1.0 [list source [file join $dir c2f_frev.tcl]]
10
-package ifneeded vc::fossil::import::cvs::file::sym 1.0 [list source [file join $dir c2f_fsym.tcl]]
11
-package ifneeded vc::fossil::import::cvs::file::trunk 1.0 [list source [file join $dir c2f_ftrunk.tcl]]
12
-package ifneeded vc::fossil::import::cvs::option 1.0 [list source [file join $dir c2f_option.tcl]]
13
-package ifneeded vc::fossil::import::cvs::integrity 1.0 [list source [file join $dir c2f_integrity.tcl]]
14
-package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]]
15
-package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]]
16
-package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]]
17
-package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]]
18
-package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]]
19
-package ifneeded vc::fossil::import::cvs::pass::initcsets 1.0 [list source [file join $dir c2f_pinitcsets.tcl]]
20
-package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]]
21
-package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]]
22
-package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]]
23
-package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]]
24
-package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]]
25
-package ifneeded vc::fossil::import::cvs::repository 1.0 [list source [file join $dir c2f_repository.tcl]]
26
-package ifneeded vc::fossil::import::cvs::state 1.0 [list source [file join $dir c2f_state.tcl]]
27
-package ifneeded vc::rcs::parser 1.0 [list source [file join $dir rcsparser.tcl]]
28
-package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
29
-package ifneeded vc::tools::misc 1.0 [list source [file join $dir misc.tcl]]
30
-package ifneeded vc::tools::trouble 1.0 [list source [file join $dir trouble.tcl]]
31
-package ifneeded vc::tools::id 1.0 [list source [file join $dir id.tcl]]
6
+package ifneeded vc::fossil::import::cvs 1.0 [list source [file join $dir cvs2fossil.tcl]]
7
+package ifneeded vc::fossil::import::cvs::file 1.0 [list source [file join $dir c2f_file.tcl]]
8
+package ifneeded vc::fossil::import::cvs::file::lodmgr 1.0 [list source [file join $dir c2f_flodmgr.tcl]]
9
+package ifneeded vc::fossil::import::cvs::file::rev 1.0 [list source [file join $dir c2f_frev.tcl]]
10
+package ifneeded vc::fossil::import::cvs::file::sym 1.0 [list source [file join $dir c2f_fsym.tcl]]
11
+package ifneeded vc::fossil::import::cvs::file::trunk 1.0 [list source [file join $dir c2f_ftrunk.tcl]]
12
+package ifneeded vc::fossil::import::cvs::option 1.0 [list source [file join $dir c2f_option.tcl]]
13
+package ifneeded vc::fossil::import::cvs::integrity 1.0 [list source [file join $dir c2f_integrity.tcl]]
14
+package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]]
15
+package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]]
16
+package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]]
17
+package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]]
18
+package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]]
19
+package ifneeded vc::fossil::import::cvs::pass::initcsets 1.0 [list source [file join $dir c2f_pinitcsets.tcl]]
20
+package ifneeded vc::fossil::import::cvs::pass::breakrcycle 1.0 [list source [file join $dir c2f_pbreakrcycle.tcl]]
21
+package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]]
22
+package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]]
23
+package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]]
24
+package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]]
25
+package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]]
26
+package ifneeded vc::fossil::import::cvs::repository 1.0 [list source [file join $dir c2f_repository.tcl]]
27
+package ifneeded vc::fossil::import::cvs::state 1.0 [list source [file join $dir c2f_state.tcl]]
28
+package ifneeded vc::rcs::parser 1.0 [list source [file join $dir rcsparser.tcl]]
29
+package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
30
+package ifneeded vc::tools::misc 1.0 [list source [file join $dir misc.tcl]]
31
+package ifneeded vc::tools::trouble 1.0 [list source [file join $dir trouble.tcl]]
32
+package ifneeded vc::tools::id 1.0 [list source [file join $dir id.tcl]]
3233
--- tools/cvs2fossil/lib/pkgIndex.tcl
+++ tools/cvs2fossil/lib/pkgIndex.tcl
@@ -1,31 +1,32 @@
1 # # ## ### ##### ######## ############# #####################
2 ## Package management.
3 ## Index of the local packages required by cvs2fossil
4 # # ## ### ##### ######## ############# #####################
5 if {![package vsatisfies [package require Tcl] 8.4]} return
6 package ifneeded vc::fossil::import::cvs 1.0 [list source [file join $dir cvs2fossil.tcl]]
7 package ifneeded vc::fossil::import::cvs::file 1.0 [list source [file join $dir c2f_file.tcl]]
8 package ifneeded vc::fossil::import::cvs::file::lodmgr 1.0 [list source [file join $dir c2f_flodmgr.tcl]]
9 package ifneeded vc::fossil::import::cvs::file::rev 1.0 [list source [file join $dir c2f_frev.tcl]]
10 package ifneeded vc::fossil::import::cvs::file::sym 1.0 [list source [file join $dir c2f_fsym.tcl]]
11 package ifneeded vc::fossil::import::cvs::file::trunk 1.0 [list source [file join $dir c2f_ftrunk.tcl]]
12 package ifneeded vc::fossil::import::cvs::option 1.0 [list source [file join $dir c2f_option.tcl]]
13 package ifneeded vc::fossil::import::cvs::integrity 1.0 [list source [file join $dir c2f_integrity.tcl]]
14 package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]]
15 package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]]
16 package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]]
17 package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]]
18 package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]]
19 package ifneeded vc::fossil::import::cvs::pass::initcsets 1.0 [list source [file join $dir c2f_pinitcsets.tcl]]
20 package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]]
21 package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]]
22 package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]]
23 package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]]
24 package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]]
25 package ifneeded vc::fossil::import::cvs::repository 1.0 [list source [file join $dir c2f_repository.tcl]]
26 package ifneeded vc::fossil::import::cvs::state 1.0 [list source [file join $dir c2f_state.tcl]]
27 package ifneeded vc::rcs::parser 1.0 [list source [file join $dir rcsparser.tcl]]
28 package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
29 package ifneeded vc::tools::misc 1.0 [list source [file join $dir misc.tcl]]
30 package ifneeded vc::tools::trouble 1.0 [list source [file join $dir trouble.tcl]]
31 package ifneeded vc::tools::id 1.0 [list source [file join $dir id.tcl]]
 
32
--- tools/cvs2fossil/lib/pkgIndex.tcl
+++ tools/cvs2fossil/lib/pkgIndex.tcl
@@ -1,31 +1,32 @@
1 # # ## ### ##### ######## ############# #####################
2 ## Package management.
3 ## Index of the local packages required by cvs2fossil
4 # # ## ### ##### ######## ############# #####################
5 if {![package vsatisfies [package require Tcl] 8.4]} return
6 package ifneeded vc::fossil::import::cvs 1.0 [list source [file join $dir cvs2fossil.tcl]]
7 package ifneeded vc::fossil::import::cvs::file 1.0 [list source [file join $dir c2f_file.tcl]]
8 package ifneeded vc::fossil::import::cvs::file::lodmgr 1.0 [list source [file join $dir c2f_flodmgr.tcl]]
9 package ifneeded vc::fossil::import::cvs::file::rev 1.0 [list source [file join $dir c2f_frev.tcl]]
10 package ifneeded vc::fossil::import::cvs::file::sym 1.0 [list source [file join $dir c2f_fsym.tcl]]
11 package ifneeded vc::fossil::import::cvs::file::trunk 1.0 [list source [file join $dir c2f_ftrunk.tcl]]
12 package ifneeded vc::fossil::import::cvs::option 1.0 [list source [file join $dir c2f_option.tcl]]
13 package ifneeded vc::fossil::import::cvs::integrity 1.0 [list source [file join $dir c2f_integrity.tcl]]
14 package ifneeded vc::fossil::import::cvs::pass 1.0 [list source [file join $dir c2f_pass.tcl]]
15 package ifneeded vc::fossil::import::cvs::pass::collar 1.0 [list source [file join $dir c2f_pcollar.tcl]]
16 package ifneeded vc::fossil::import::cvs::pass::collrev 1.0 [list source [file join $dir c2f_pcollrev.tcl]]
17 package ifneeded vc::fossil::import::cvs::pass::collsym 1.0 [list source [file join $dir c2f_pcollsym.tcl]]
18 package ifneeded vc::fossil::import::cvs::pass::filtersym 1.0 [list source [file join $dir c2f_pfiltersym.tcl]]
19 package ifneeded vc::fossil::import::cvs::pass::initcsets 1.0 [list source [file join $dir c2f_pinitcsets.tcl]]
20 package ifneeded vc::fossil::import::cvs::pass::breakrcycle 1.0 [list source [file join $dir c2f_pbreakrcycle.tcl]]
21 package ifneeded vc::fossil::import::cvs::project 1.0 [list source [file join $dir c2f_project.tcl]]
22 package ifneeded vc::fossil::import::cvs::project::lodmgr 1.0 [list source [file join $dir c2f_plodmgr.tcl]]
23 package ifneeded vc::fossil::import::cvs::project::rev 1.0 [list source [file join $dir c2f_prev.tcl]]
24 package ifneeded vc::fossil::import::cvs::project::sym 1.0 [list source [file join $dir c2f_psym.tcl]]
25 package ifneeded vc::fossil::import::cvs::project::trunk 1.0 [list source [file join $dir c2f_ptrunk.tcl]]
26 package ifneeded vc::fossil::import::cvs::repository 1.0 [list source [file join $dir c2f_repository.tcl]]
27 package ifneeded vc::fossil::import::cvs::state 1.0 [list source [file join $dir c2f_state.tcl]]
28 package ifneeded vc::rcs::parser 1.0 [list source [file join $dir rcsparser.tcl]]
29 package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
30 package ifneeded vc::tools::misc 1.0 [list source [file join $dir misc.tcl]]
31 package ifneeded vc::tools::trouble 1.0 [list source [file join $dir trouble.tcl]]
32 package ifneeded vc::tools::id 1.0 [list source [file join $dir id.tcl]]
33

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button