@@ -11,11 +11,10 @@
11 11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package require vc::tools::trouble ; # Error handling
12 12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package require vc::cvs::cmd ; # Access to cvs application.
13 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package require vc::cvs::ws::files ; # Scan CVS repository for relevant files.
14 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package require vc::cvs::ws::timeline ; # Manage timeline of all changes.
15 15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package require vc::cvs::ws::csets ; # Manage the changesets found in the timeline
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- package require struct::tree
17 16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
18 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
namespace eval ::vc::cvs::ws {
19 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
vc::tools::log::system cvs
20 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
namespace import ::vc::tools::log::write
21 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
namespace import ::vc::rcs::parser::process
@@ -29,17 +28,19 @@
29 28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
30 29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::configure key value - Configure the subsystem.
31 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::check src mv - Check if src is a CVS repository directory.
32 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::begin src - Start new workspace and return the top-
33 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# most directory co'd files are put into.
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # vc::cvs::ws::ncsets ?-import? - Retrieve number of csets (all/to import)
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::ncsets - Retrieve total number of csets
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::nimportable - Retrieve number of importable csets
35 35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::foreach csvar script - Run the script for each changeset, the
36 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# id of the current changeset stored in
37 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# the variable named by csvar.
38 38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::done - Close workspace and delete it.
39 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::isadmin path - Check if path is an admin file of CVS
40 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# vc::cvs::ws::checkout id - Have workspace contain the changeset id.
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::get id - Retrieve data of a changeset.
41 42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#
42 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Configuration keys:
43 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#
44 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# -project path - Sub directory under 'src' to limit the import to.
45 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -77,13 +78,11 @@
77 78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {![check $src msg]} { return -code error $msg }
78 79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
79 80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
DefBase $src
80 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
MakeTimeline [ScanArchives [files::find [RootPath]]]
81 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
MakeChangesets
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # OLD api calls ... TODO rework for more structure ...
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rtree ; # Build revision tree (trunk only right now).
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ProcessBranches
85 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
86 85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return [MakeWorkspace]
87 86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
88 87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
89 88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::done {} {
@@ -91,41 +90,54 @@
91 90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
file delete -force $workspace
92 91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
93 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
94 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
95 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::foreach {cv script} {
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # OLD api ... TODO inline
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- uplevel 1 [list ::vc::cvs::ws::foreach_cset $cv 0 $script]
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable importable
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ upvar 1 $cv c
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach c [lsort -integer -increasing $importable] {
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set code [catch {uplevel 1 $script} res]
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # 0 - ok, 1 - error, 2 - return, 3 - break, 4 - continue
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch -- $code {
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 0 {}
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 1 { return -errorcode $::errorCode -errorinfo $::errorInfo -code error $res }
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 2 {}
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 3 { return }
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 4 {}
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ default { return -code $code $result }
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return
98 112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
99 113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
100 114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::ncsets {args} {
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable ntrunk
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {[llength $args] > 1} {
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return -code error "wrong#args: Expected ?-import?"
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } elseif {[llength $args] == 1} {
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {[set k [lindex $args 0]] ne "-import"} {
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return -code "Unknown switch $k, expected -import"
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return $ntrunk
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
113 115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return [csets::num]
114 116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::nimportable {args} {
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable importable
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return [llength $importable]
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
115 122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
116 123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::isadmin {path} {
117 124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Check if path is a CVS admin file.
118 125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {[string match CVS/* $path]} {return 1}
119 126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {[string match */CVS/* $path]} {return 1}
120 127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 0
121 128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
122 129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::parentOf {id} { csets::parentOf $id }
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
123 132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::checkout {id} {
124 133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable workspace
125 134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cd $workspace
126 135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # TODO: Hide the direct access to the data structures behind
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # TODO: accessors for date, cmsg, removed, added, changed, and
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # TODO: author
127 139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
array set cs [csets::get $id]
128 140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
129 141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 1 cvs "@ $cs(date)"
130 142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
::foreach l [split [string trim $cs(cmsg)] \n] {
131 143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 1 cvs "| $l"
@@ -264,81 +276,52 @@
264 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
265 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Building the revision tree from the changesets.
266 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Limitation: Currently only trunk csets is handled.
267 279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Limitation: Dead files are not removed, i.e. no 'R' actions right now.
268 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::rtree {} {
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable rtree {}
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable ntrunk 0
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- write 0 cvs "Extracting the trunk"
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set rtree [struct::tree ::vc::cvs::ws::RT]
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $rtree rename root 0 ; # Root is first changeset, always.
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set trunk 0
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set ntrunk 1 ; # Root is on the trunk.
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set b 0 ; # No branch csets found yet.
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Extracting the trunk is easy, simply by looking at the involved
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # version numbers.
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for {set c 1} {$c < [csets::num]} {incr c} {
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- array set cs [csets::get $c]
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Ignore branch changes, just count them for the statistics.
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {$cs(lastd) != 2} {
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- incr b
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Trunk revision, connect to, and update the head.
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $rtree insert $trunk end $c
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set trunk $c
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- incr ntrunk
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- write 0 cvs "Processed $ntrunk trunk [expr {($ntrunk == 1) ? "changeset" : "changesets"}]"
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- write 0 cvs "Ignored $b branch [expr {($b == 1) ? "changeset" : "changesets"}]"
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- namespace eval ::vc::cvs::ws {
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Tree holding trunk and branch information (struct::tree).
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Node names are cset id's.
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable rtree {}
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable ntrunk 0
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::foreach_cset {cv node script} {
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- upvar 1 $cv c
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable rtree
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set c $node
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while {1} {
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set code [catch {uplevel 1 $script} res]
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # 0 - ok, 1 - error, 2 - return, 3 - break, 4 - continue
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch -- $code {
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0 {}
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 1 { return -errorcode $::errorCode -errorinfo $::errorInfo -code error $res }
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 2 {}
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 3 { return }
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 4 {}
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- default {
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return -code $code $result
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Stop on reaching the head.
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {![llength [$rtree children $c]]} break
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #puts <[$rtree children $c]>
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Go to next child in trunk (leftmost).
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set c [lindex [$rtree children $c] 0]
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::ProcessBranches {} {
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable importable
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Organizing the changesets into branches"
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set remainder [ProcessTrunk]
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # TODO: Processing non-trunk branches
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Status information ...
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set nr [llength $remainder]
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set ni [llength $importable]
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set fmt %[string length [csets::num]]s
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Unprocessed: [format $fmt $nr] [SIPL $nr changeset] (Will be ignored)"
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "To import: [format $fmt $ni] [SIPL $ni changeset]"
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::ProcessTrunk {} {
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable importable
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Processing the trunk changesets"
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set remainder {}
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set t 0
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set n [csets::num]
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set parent {}
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for {set c 0} {$c < $n} {incr c} {
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[csets::isTrunk $c]} {
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ csets::setParentOf $c $parent
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set parent $c
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ incr t
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ lappend importable $c
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ lappend remainder $c
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Found [NSIPL $t {trunk changeset}], [NSIPL [llength $remainder] {branch changeset}]"
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return $remainder
340 323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
341 324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
342 325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::Checkout {f r} {
343 326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable base
344 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable project
@@ -401,17 +384,19 @@
401 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
402 385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
403 386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# -----------------------------------------------------------------------------
404 387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
405 388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
namespace eval ::vc::cvs::ws {
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable base {} ; # Toplevel repository directory
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable project {} ; # Sub directory to limit the import to.
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable workspace {} ; # Directory to checkout changesets to.
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable base {} ; # Toplevel repository directory
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project {} ; # Sub directory to limit the import to.
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable workspace {} ; # Directory to checkout changesets to.
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable importable {} ; # List of the csets which can be imported.
409 393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- namespace export configure begin done foreach ncsets checkout
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ namespace export configure begin done foreach ncsets nimportable checkout
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ namespace export parentOf
411 396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
412 397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
413 398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# -----------------------------------------------------------------------------
414 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Ready
415 400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
416 401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package provide vc::cvs::ws 1.0
417 402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
418 403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!