Fossil SCM

Continued restructuring of the code (namespace hierarchy, import control).

aku 2007-09-13 05:43 trunk
Commit 9671b65174e6ac8b17c2e048259bbc7d3e102cca
--- tools/import-cvs.tcl
+++ tools/import-cvs.tcl
@@ -40,18 +40,22 @@
4040
4141
# -----------------------------------------------------------------------------
4242
# Requirements
4343
4444
package require Tcl 8.4
45
-package require vc::tools::log ; # User Feedback
46
-package require import::cvs ; # Importer Control
45
+package require vc::tools::log ; # User Feedback
46
+package require vc::fossil::import::cvs ; # Importer Control
47
+
48
+namespace eval ::import {
49
+ namespace import ::vc::fossil::import::cvs::*
50
+}
4751
4852
# -----------------------------------------------------------------------------
4953
5054
proc main {} {
51
- commandline -> cvs fossil
52
- import::cvs::run $cvs $fossil
55
+ commandline -> cvs fossil
56
+ import::run $cvs $fossil
5357
return
5458
}
5559
5660
# -----------------------------------------------------------------------------
5761
@@ -62,13 +66,13 @@
6266
set verbosity 0
6367
6468
clinit
6569
while {[string match "-*" [set opt [this]]]} {
6670
switch -exact -- $opt {
67
- --nosign { import::cvs::configure -nosign 1 }
68
- --debugcommit { import::cvs::configure -debugcommit 1 }
69
- --stopat { next ; import::cvs::configure -stopat [this] }
71
+ --nosign { import::configure -nosign 1 }
72
+ --debugcommit { import::configure -debugcommit 1 }
73
+ --stopat { next ; import::configure -stopat [this] }
7074
-v { incr verbosity ; ::vc::tools::log::verbosity $verbosity }
7175
default usage
7276
}
7377
next
7478
}
7579
--- tools/import-cvs.tcl
+++ tools/import-cvs.tcl
@@ -40,18 +40,22 @@
40
41 # -----------------------------------------------------------------------------
42 # Requirements
43
44 package require Tcl 8.4
45 package require vc::tools::log ; # User Feedback
46 package require import::cvs ; # Importer Control
 
 
 
 
47
48 # -----------------------------------------------------------------------------
49
50 proc main {} {
51 commandline -> cvs fossil
52 import::cvs::run $cvs $fossil
53 return
54 }
55
56 # -----------------------------------------------------------------------------
57
@@ -62,13 +66,13 @@
62 set verbosity 0
63
64 clinit
65 while {[string match "-*" [set opt [this]]]} {
66 switch -exact -- $opt {
67 --nosign { import::cvs::configure -nosign 1 }
68 --debugcommit { import::cvs::configure -debugcommit 1 }
69 --stopat { next ; import::cvs::configure -stopat [this] }
70 -v { incr verbosity ; ::vc::tools::log::verbosity $verbosity }
71 default usage
72 }
73 next
74 }
75
--- tools/import-cvs.tcl
+++ tools/import-cvs.tcl
@@ -40,18 +40,22 @@
40
41 # -----------------------------------------------------------------------------
42 # Requirements
43
44 package require Tcl 8.4
45 package require vc::tools::log ; # User Feedback
46 package require vc::fossil::import::cvs ; # Importer Control
47
48 namespace eval ::import {
49 namespace import ::vc::fossil::import::cvs::*
50 }
51
52 # -----------------------------------------------------------------------------
53
54 proc main {} {
55 commandline -> cvs fossil
56 import::run $cvs $fossil
57 return
58 }
59
60 # -----------------------------------------------------------------------------
61
@@ -62,13 +66,13 @@
66 set verbosity 0
67
68 clinit
69 while {[string match "-*" [set opt [this]]]} {
70 switch -exact -- $opt {
71 --nosign { import::configure -nosign 1 }
72 --debugcommit { import::configure -debugcommit 1 }
73 --stopat { next ; import::configure -stopat [this] }
74 -v { incr verbosity ; ::vc::tools::log::verbosity $verbosity }
75 default usage
76 }
77 next
78 }
79
--- tools/lib/importcvs.tcl
+++ tools/lib/importcvs.tcl
@@ -7,34 +7,34 @@
77
package require Tcl 8.4
88
package require cvs ; # Frontend, reading from source repository
99
package require fossil ; # Backend, writing to destination repository.
1010
package require vc::tools::log ; # User feedback
1111
12
-namespace eval ::import::cvs {
12
+namespace eval ::vc::fossil::import::cvs {
1313
vc::tools::log::system import
1414
namespace import ::vc::tools::log::write
1515
}
1616
1717
# -----------------------------------------------------------------------------
1818
# API
1919
2020
# Configuration
2121
#
22
-# import::cvs::configure key value - Set configuration
22
+# vc::fossil::import::cvs::configure key value - Set configuration
2323
#
2424
# Legal keys: -nosign <bool>, default false
2525
# -debugcommit <bool>, default false
2626
# -stopat <int>, default :none:
2727
#
2828
# Functionality
2929
#
30
-# import::cvs::run src dst - Perform an import.
30
+# vc::fossil::import::cvs::run src dst - Perform an import.
3131
3232
# -----------------------------------------------------------------------------
3333
# API Implementation - Functionality
3434
35
-proc ::import::cvs::configure {key value} {
35
+proc ::vc::fossil::import::cvs::configure {key value} {
3636
variable nosign
3737
variable stopat
3838
3939
switch -exact -- $key {
4040
-debugcommit {
@@ -61,11 +61,11 @@
6161
}
6262
6363
# Import the CVS repository found at directory 'src' into the new
6464
# fossil repository at 'dst'.
6565
66
-proc ::import::cvs::run {src dst} {
66
+proc ::vc::fossil::import::cvs::run {src dst} {
6767
variable stopat
6868
6969
cvs::at $src ; # Define location of CVS repository
7070
7171
cvs::scan ; # Gather revision data from the archives
@@ -83,11 +83,11 @@
8383
8484
set ntrunk [cvs::ntrunk] ; set ntfmt %[string length $ntrunk]s
8585
set nmax [cvs::ncsets] ; set nmfmt %[string length $nmax]s
8686
8787
cvs::foreach_cset cset [cvs::root] {
88
- ::vc::tools::log::write 0 import "ChangeSet [format $nmfmt $cset] @ [format $ntfmt $nto]/$ntrunk ([format %6.2f [expr {$nto*100.0/$ntrunk}]]%)"
88
+ write 0 import "ChangeSet [format $nmfmt $cset] @ [format $ntfmt $nto]/$ntrunk ([format %6.2f [expr {$nto*100.0/$ntrunk}]]%)"
8989
Statistics [OneChangeSet $cset]
9090
}
9191
9292
write 0 import "========= [string repeat = 61]"
9393
write 0 import "Imported $nto [expr {($nto == 1) ? "changeset" : "changesets"}]"
@@ -102,11 +102,11 @@
102102
}
103103
104104
# -----------------------------------------------------------------------------
105105
# Internal operations - Import a single changeset.
106106
107
-proc ::import::cvs::Statistics {sec} {
107
+proc ::vc::fossil::import::cvs::Statistics {sec} {
108108
upvar 1 tot tot nto nto ntrunk ntrunk
109109
110110
# No statistics if the commit was stopped before it was run
111111
if {$sec eq ""} return
112112
@@ -115,18 +115,18 @@
115115
set tot [expr {$tot + $sec}]
116116
set avg [expr {$tot/$nto}]
117117
set max [expr {$ntrunk * $avg}]
118118
set rem [expr {$max - $tot}]
119119
120
- ::vc::tools::log::write 3 import "st avg [format %.2f $avg] sec"
121
- ::vc::tools::log::write 3 import "st run [format %7.2f $tot] sec [format %6.2f [expr {$tot/60}]] min [format %5.2f [expr {$tot/3600}]] hr"
122
- ::vc::tools::log::write 3 import "st end [format %7.2f $max] sec [format %6.2f [expr {$max/60}]] min [format %5.2f [expr {$max/3600}]] hr"
123
- ::vc::tools::log::write 3 import "st rem [format %7.2f $rem] sec [format %6.2f [expr {$rem/60}]] min [format %5.2f [expr {$rem/3600}]] hr"
120
+ write 3 import "st avg [format %.2f $avg] sec"
121
+ write 3 import "st run [format %7.2f $tot] sec [format %6.2f [expr {$tot/60}]] min [format %5.2f [expr {$tot/3600}]] hr"
122
+ write 3 import "st end [format %7.2f $max] sec [format %6.2f [expr {$max/60}]] min [format %5.2f [expr {$max/3600}]] hr"
123
+ write 3 import "st rem [format %7.2f $rem] sec [format %6.2f [expr {$rem/60}]] min [format %5.2f [expr {$rem/3600}]] hr"
124124
return
125125
}
126126
127
-proc ::import::cvs::OneChangeSet {cset} {
127
+proc ::vc::fossil::import::cvs::OneChangeSet {cset} {
128128
variable nosign
129129
variable stopat
130130
131131
if {$stopat == $cset} {
132132
fossil::commit 1 cvs2fossil $nosign \
@@ -143,24 +143,26 @@
143143
} 1] 0]
144144
cvs::uuid $cset $uuid
145145
146146
set sec [expr {$usec/1e6}]
147147
148
- ::vc::tools::log::write 2 import "== $uuid +${ad}-${rm}*${ch}"
149
- ::vc::tools::log::write 2 import "st in [format %.2f $sec] sec"
148
+ write 2 import "== $uuid +${ad}-${rm}*${ch}"
149
+ write 2 import "st in [format %.2f $sec] sec"
150150
151151
return $sec
152152
}
153153
154154
# -----------------------------------------------------------------------------
155155
156
-namespace eval ::import::cvs {
156
+namespace eval ::vc::fossil::import::cvs {
157157
variable debugcommit 0 ; # Debug the commit operation.
158158
variable nosign 0 ; # Require signing
159159
variable stopat {} ; # Stop nowhere
160
+
161
+ namespace export run configure
160162
}
161163
162164
# -----------------------------------------------------------------------------
163165
# Ready
164166
165
-package provide import::cvs 1.0
167
+package provide vc::fossil::import::cvs 1.0
166168
return
167169
--- tools/lib/importcvs.tcl
+++ tools/lib/importcvs.tcl
@@ -7,34 +7,34 @@
7 package require Tcl 8.4
8 package require cvs ; # Frontend, reading from source repository
9 package require fossil ; # Backend, writing to destination repository.
10 package require vc::tools::log ; # User feedback
11
12 namespace eval ::import::cvs {
13 vc::tools::log::system import
14 namespace import ::vc::tools::log::write
15 }
16
17 # -----------------------------------------------------------------------------
18 # API
19
20 # Configuration
21 #
22 # import::cvs::configure key value - Set configuration
23 #
24 # Legal keys: -nosign <bool>, default false
25 # -debugcommit <bool>, default false
26 # -stopat <int>, default :none:
27 #
28 # Functionality
29 #
30 # import::cvs::run src dst - Perform an import.
31
32 # -----------------------------------------------------------------------------
33 # API Implementation - Functionality
34
35 proc ::import::cvs::configure {key value} {
36 variable nosign
37 variable stopat
38
39 switch -exact -- $key {
40 -debugcommit {
@@ -61,11 +61,11 @@
61 }
62
63 # Import the CVS repository found at directory 'src' into the new
64 # fossil repository at 'dst'.
65
66 proc ::import::cvs::run {src dst} {
67 variable stopat
68
69 cvs::at $src ; # Define location of CVS repository
70
71 cvs::scan ; # Gather revision data from the archives
@@ -83,11 +83,11 @@
83
84 set ntrunk [cvs::ntrunk] ; set ntfmt %[string length $ntrunk]s
85 set nmax [cvs::ncsets] ; set nmfmt %[string length $nmax]s
86
87 cvs::foreach_cset cset [cvs::root] {
88 ::vc::tools::log::write 0 import "ChangeSet [format $nmfmt $cset] @ [format $ntfmt $nto]/$ntrunk ([format %6.2f [expr {$nto*100.0/$ntrunk}]]%)"
89 Statistics [OneChangeSet $cset]
90 }
91
92 write 0 import "========= [string repeat = 61]"
93 write 0 import "Imported $nto [expr {($nto == 1) ? "changeset" : "changesets"}]"
@@ -102,11 +102,11 @@
102 }
103
104 # -----------------------------------------------------------------------------
105 # Internal operations - Import a single changeset.
106
107 proc ::import::cvs::Statistics {sec} {
108 upvar 1 tot tot nto nto ntrunk ntrunk
109
110 # No statistics if the commit was stopped before it was run
111 if {$sec eq ""} return
112
@@ -115,18 +115,18 @@
115 set tot [expr {$tot + $sec}]
116 set avg [expr {$tot/$nto}]
117 set max [expr {$ntrunk * $avg}]
118 set rem [expr {$max - $tot}]
119
120 ::vc::tools::log::write 3 import "st avg [format %.2f $avg] sec"
121 ::vc::tools::log::write 3 import "st run [format %7.2f $tot] sec [format %6.2f [expr {$tot/60}]] min [format %5.2f [expr {$tot/3600}]] hr"
122 ::vc::tools::log::write 3 import "st end [format %7.2f $max] sec [format %6.2f [expr {$max/60}]] min [format %5.2f [expr {$max/3600}]] hr"
123 ::vc::tools::log::write 3 import "st rem [format %7.2f $rem] sec [format %6.2f [expr {$rem/60}]] min [format %5.2f [expr {$rem/3600}]] hr"
124 return
125 }
126
127 proc ::import::cvs::OneChangeSet {cset} {
128 variable nosign
129 variable stopat
130
131 if {$stopat == $cset} {
132 fossil::commit 1 cvs2fossil $nosign \
@@ -143,24 +143,26 @@
143 } 1] 0]
144 cvs::uuid $cset $uuid
145
146 set sec [expr {$usec/1e6}]
147
148 ::vc::tools::log::write 2 import "== $uuid +${ad}-${rm}*${ch}"
149 ::vc::tools::log::write 2 import "st in [format %.2f $sec] sec"
150
151 return $sec
152 }
153
154 # -----------------------------------------------------------------------------
155
156 namespace eval ::import::cvs {
157 variable debugcommit 0 ; # Debug the commit operation.
158 variable nosign 0 ; # Require signing
159 variable stopat {} ; # Stop nowhere
 
 
160 }
161
162 # -----------------------------------------------------------------------------
163 # Ready
164
165 package provide import::cvs 1.0
166 return
167
--- tools/lib/importcvs.tcl
+++ tools/lib/importcvs.tcl
@@ -7,34 +7,34 @@
7 package require Tcl 8.4
8 package require cvs ; # Frontend, reading from source repository
9 package require fossil ; # Backend, writing to destination repository.
10 package require vc::tools::log ; # User feedback
11
12 namespace eval ::vc::fossil::import::cvs {
13 vc::tools::log::system import
14 namespace import ::vc::tools::log::write
15 }
16
17 # -----------------------------------------------------------------------------
18 # API
19
20 # Configuration
21 #
22 # vc::fossil::import::cvs::configure key value - Set configuration
23 #
24 # Legal keys: -nosign <bool>, default false
25 # -debugcommit <bool>, default false
26 # -stopat <int>, default :none:
27 #
28 # Functionality
29 #
30 # vc::fossil::import::cvs::run src dst - Perform an import.
31
32 # -----------------------------------------------------------------------------
33 # API Implementation - Functionality
34
35 proc ::vc::fossil::import::cvs::configure {key value} {
36 variable nosign
37 variable stopat
38
39 switch -exact -- $key {
40 -debugcommit {
@@ -61,11 +61,11 @@
61 }
62
63 # Import the CVS repository found at directory 'src' into the new
64 # fossil repository at 'dst'.
65
66 proc ::vc::fossil::import::cvs::run {src dst} {
67 variable stopat
68
69 cvs::at $src ; # Define location of CVS repository
70
71 cvs::scan ; # Gather revision data from the archives
@@ -83,11 +83,11 @@
83
84 set ntrunk [cvs::ntrunk] ; set ntfmt %[string length $ntrunk]s
85 set nmax [cvs::ncsets] ; set nmfmt %[string length $nmax]s
86
87 cvs::foreach_cset cset [cvs::root] {
88 write 0 import "ChangeSet [format $nmfmt $cset] @ [format $ntfmt $nto]/$ntrunk ([format %6.2f [expr {$nto*100.0/$ntrunk}]]%)"
89 Statistics [OneChangeSet $cset]
90 }
91
92 write 0 import "========= [string repeat = 61]"
93 write 0 import "Imported $nto [expr {($nto == 1) ? "changeset" : "changesets"}]"
@@ -102,11 +102,11 @@
102 }
103
104 # -----------------------------------------------------------------------------
105 # Internal operations - Import a single changeset.
106
107 proc ::vc::fossil::import::cvs::Statistics {sec} {
108 upvar 1 tot tot nto nto ntrunk ntrunk
109
110 # No statistics if the commit was stopped before it was run
111 if {$sec eq ""} return
112
@@ -115,18 +115,18 @@
115 set tot [expr {$tot + $sec}]
116 set avg [expr {$tot/$nto}]
117 set max [expr {$ntrunk * $avg}]
118 set rem [expr {$max - $tot}]
119
120 write 3 import "st avg [format %.2f $avg] sec"
121 write 3 import "st run [format %7.2f $tot] sec [format %6.2f [expr {$tot/60}]] min [format %5.2f [expr {$tot/3600}]] hr"
122 write 3 import "st end [format %7.2f $max] sec [format %6.2f [expr {$max/60}]] min [format %5.2f [expr {$max/3600}]] hr"
123 write 3 import "st rem [format %7.2f $rem] sec [format %6.2f [expr {$rem/60}]] min [format %5.2f [expr {$rem/3600}]] hr"
124 return
125 }
126
127 proc ::vc::fossil::import::cvs::OneChangeSet {cset} {
128 variable nosign
129 variable stopat
130
131 if {$stopat == $cset} {
132 fossil::commit 1 cvs2fossil $nosign \
@@ -143,24 +143,26 @@
143 } 1] 0]
144 cvs::uuid $cset $uuid
145
146 set sec [expr {$usec/1e6}]
147
148 write 2 import "== $uuid +${ad}-${rm}*${ch}"
149 write 2 import "st in [format %.2f $sec] sec"
150
151 return $sec
152 }
153
154 # -----------------------------------------------------------------------------
155
156 namespace eval ::vc::fossil::import::cvs {
157 variable debugcommit 0 ; # Debug the commit operation.
158 variable nosign 0 ; # Require signing
159 variable stopat {} ; # Stop nowhere
160
161 namespace export run configure
162 }
163
164 # -----------------------------------------------------------------------------
165 # Ready
166
167 package provide vc::fossil::import::cvs 1.0
168 return
169
--- tools/lib/pkgIndex.tcl
+++ tools/lib/pkgIndex.tcl
@@ -1,6 +1,6 @@
11
if {![package vsatisfies [package require Tcl] 8.4]} return
22
package ifneeded rcsparser 1.0 [list source [file join $dir rcsparser.tcl]]
33
package ifneeded cvs 1.0 [list source [file join $dir cvs.tcl]]
44
package ifneeded fossil 1.0 [list source [file join $dir fossil.tcl]]
5
-package ifneeded import::cvs 1.0 [list source [file join $dir importcvs.tcl]]
6
-package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
5
+package ifneeded vc::fossil::import::cvs 1.0 [list source [file join $dir importcvs.tcl]]
6
+package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
77
--- tools/lib/pkgIndex.tcl
+++ tools/lib/pkgIndex.tcl
@@ -1,6 +1,6 @@
1 if {![package vsatisfies [package require Tcl] 8.4]} return
2 package ifneeded rcsparser 1.0 [list source [file join $dir rcsparser.tcl]]
3 package ifneeded cvs 1.0 [list source [file join $dir cvs.tcl]]
4 package ifneeded fossil 1.0 [list source [file join $dir fossil.tcl]]
5 package ifneeded import::cvs 1.0 [list source [file join $dir importcvs.tcl]]
6 package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
7
--- tools/lib/pkgIndex.tcl
+++ tools/lib/pkgIndex.tcl
@@ -1,6 +1,6 @@
1 if {![package vsatisfies [package require Tcl] 8.4]} return
2 package ifneeded rcsparser 1.0 [list source [file join $dir rcsparser.tcl]]
3 package ifneeded cvs 1.0 [list source [file join $dir cvs.tcl]]
4 package ifneeded fossil 1.0 [list source [file join $dir fossil.tcl]]
5 package ifneeded vc::fossil::import::cvs 1.0 [list source [file join $dir importcvs.tcl]]
6 package ifneeded vc::tools::log 1.0 [list source [file join $dir log.tcl]]
7

Keyboard Shortcuts

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