@@ -19,52 +19,169 @@
19 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
21 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# -----------------------------------------------------------------------------
22 22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# API
23 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Define repository directory.
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::configure key value - Configure the subsystem.
25 { 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.
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::begin src - Start new workspace and return the top-
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # most directory co'd files are put into.
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::ncsets ?-import? - Retrieve number of csets (all/to import)
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::foreach csvar script - Run the script for each changeset, the
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # id of the current changeset stored in
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the variable named by csvar.
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::done - Close workspace and delete it.
33 { 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
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # vc::cvs::ws::checkout id - Have workspace contain the changeset id.
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Configuration keys:
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # -project path - Sub directory under 'src' to limit the import to.
25 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::at {path} {
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable base [file normalize $path]
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- write 0 cvs "Base: $base"
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # -----------------------------------------------------------------------------
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # API Implementation
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::configure {key value} {
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch -exact -- $key {
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ -project { set project $value }
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ default {
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return -code error "Unknown switch $key, expected \
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ -project"
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::check {src mv} {
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ upvar 1 $mv msg
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ![fileutil::test $src erd msg "CVS Repository"] ||
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ![fileutil::test $src/CVSROOT erd msg "CVS Admin directory"] ||
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (($project ne "") &&
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ![fileutil::test $src/$project erd msg "Project directory"])
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } {
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 0
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 1
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::begin {src} {
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable base
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set src [file normalize $src]
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {![check $src msg]} {
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return -code error $msg
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set base $src
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Base: $base"
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {$project eq ""} {
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Project: <ALL>"
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ write 0 cvs "Project: $project"
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # OLD api calls ... TODO rework for more structure ...
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scan ; # Gather revision data from the archives
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ csets ; # Group changes into sets
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rtree ; # Build revision tree (trunk only right now).
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set w [workspace] ; # OLD api ... TODO inline
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {$project ne ""} {
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set w $w/$project
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file mkdir $w
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return $w
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::done {} {
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable cwd
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable workspace
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cd $cwd
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ file delete -force $workspace
29 104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
30 105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
31 106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- namespace eval ::vc::cvs::ws {
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Toplevel repository directory
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable base {}
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::foreach {cv script} {
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # OLD api ... TODO inline
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ uplevel 1 [list ::vc::cvs::ws::foreach_cset $cv 0 $script]
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!
+ proc ::vc::cvs::ws::ncsets {args} {
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable ncs
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable ntrunk
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[llength $args] > 1} {
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return -code error "wrong#args: Expected ?-import?"
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } elseif {[llength $args] == 1} {
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[set k [lindex $args 0]] ne "-import"} {
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return -code "Unknown switch $k, expected -import"
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return $ntrunk
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return $ncs
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::isadmin {path} {
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Check if path is a CVS admin file.
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[string match CVS/* $path]} {return 1}
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[string match */CVS/* $path]} {return 1}
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 0
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ proc ::vc::cvs::ws::checkout {id} {
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable workspace ; cd $workspace
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wssetup $id ; # OLD api ... TODO inline
35 139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # -----------------------------------------------------------------------------
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Internals - Old API for now.
36 143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
37 144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Scan repository, collect archives, parse them, and collect revision
38 145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# information (file, revision -> date, author, commit message)
39 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
40 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::scan {} {
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project
41 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable base
42 150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable npaths
43 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable rpaths
44 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable timeline
45 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
46 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 0 cvs {Scanning directory hierarchy}
47 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
48 156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set n 0
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach rcs [fileutil::findByPattern $base -glob *,v] {
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set rcs [fileutil::stripPath $base $rcs]
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Now rcs is relative to base
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set d $base ; if {$project ne ""} {append d /$project}
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach rcs [fileutil::findByPattern $d -glob *,v] {
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set rcs [fileutil::stripPath $d $rcs]
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Now rcs is relative to base/project
52 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
53 163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 1 cvs "Archive $rcs"
54 164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {[string match CVSROOT* $rcs]} {
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[string match CVSROOT/* $rcs]} {
56 166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 2 cvs {Ignored. Administrative file}
57 167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
continue
58 168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
59 169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
60 170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Derive the regular path from the rcs path. Meaning: Chop of
61 171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# the ",v" suffix, and remove a possible "Attic".
62 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set f [string range $rcs 0 end-2]
63 173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {"Attic" eq [lindex [file split $rcs] end-1]} {
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set f [file join [file dirname [file dirname $f]] [file tail $f]]
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {[file exists $base/$f,v]} {
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # The construction below ensures that Attic/X maps to X
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # instead of ./X. Otherwise, Y/Attic/X maps to Y/X.
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set fx [file dirname [file dirname $f]]
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set f [file tail $f]
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {$fx ne "."} { set f [file join $fx $f] }
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[file exists $d/$f,v]} {
66 183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# We have a regular archive and an Attic archive
67 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# refering to the same user visible file. Ignore the
68 185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# file in the Attic.
69 186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
70 187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 2 cvs "Ignored. Attic superceded by regular archive"
@@ -84,18 +201,18 @@
84 201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
continue
85 202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
86 203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
87 204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
88 205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Get the meta data we need (revisions, timeline, messages).
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set meta [process $base/$rcs]
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set meta [process $d/$rcs]
90 207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
91 208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set npaths($rcs) $f
92 209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set rpaths($f) $rcs
93 210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
94 211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
array set p $meta
95 212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {rev ts} $p(date) {_ a} $p(author) {_ cm} $p(commit) {_ st} $p(state) {
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {rev ts} $p(date) {_ a} $p(author) {_ cm} $p(commit) {_ st} $p(state) {
97 214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set op [expr {($rev eq "1.1") ? "A" : "M"}]
98 215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$st eq "dead"} {set op "R"}
99 216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
100 217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# A dead-first revision is rev 1.1 with op R. For an
101 218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# example see the file memchan/DEPENDENCIES. Such a file
@@ -146,20 +263,20 @@
146 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
147 264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 0 cvs "Processing timeline"
148 265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
149 266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set n 0
150 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CSClear
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach ts [lsort -dict [array names timeline]] {
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach ts [lsort -dict [array names timeline]] {
152 269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
153 270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# op tstamp author revision file commit
154 271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# 0 1 2 3 4 5/end
155 272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# b c a
156 273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
157 274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set entries [lsort -index 2 [lsort -index 0 [lsort -index end $timeline($ts)]]]
158 275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#puts [join $entries \n]
159 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach entry $entries {
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach entry $entries {
161 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {![CSNone] && [CSNew $entry]} {
162 279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CSSave
163 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
CSClear
164 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#puts ==\n$reason
165 282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -203,12 +320,12 @@
203 320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set b 0 ; # No branch csets found yet.
204 321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
205 322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Extracting the trunk is easy, simply by looking at the involved
206 323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# version numbers.
207 324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach c [lrange [lsort -integer [array names csets]] 1 end] {
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {u cm s e rd f} $csets($c) break
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach c [lrange [lsort -integer [array names csets]] 1 end] {
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {u cm s e rd f} $csets($c) break
210 327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
211 328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Ignore branch changes, just count them for the statistics.
212 329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$rd != 2} {
213 330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
incr b
214 331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
continue
@@ -243,40 +360,27 @@
243 360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
244 361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cd $workspace ; # Checkouts go here.
245 362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return $workspace
246 363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
247 364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::wsignore {path} {
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Ignore CVS admin files.
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {[string match */CVS/* $path]} {return 1}
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 0
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::wsclear {} {
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable cwd
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable workspace
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cd $cwd
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- file delete -force $workspace
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
262 365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::wssetup {c} {
263 366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable csets
264 367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable base
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project
265 369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
266 370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# pwd = workspace
267 371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {u cm s e rd fs} $csets($c) break
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {u cm s e rd fs} $csets($c) break
269 373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
270 374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 1 cvs "@ $s"
271 375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach l [split [string trim $cm] \n] {
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach l [split [string trim $cm] \n] {
273 377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 1 cvs "| $l"
274 378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
275 379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {f or} $fs {
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {op r} $or break
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {f or} $fs {
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {op r} $or break
278 382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 2 cvs "$op $f $r"
279 383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
280 384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$op eq "R"} {
281 385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Remove file from workspace. Prune empty directories.
282 386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#
@@ -299,18 +403,19 @@
299 403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
300 404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else {
301 405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Added or modified, put the requested version of the file
302 406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# into the workspace.
303 407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {$project ne ""} {set f $project/$f}
304 409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {[catch {
305 410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dova -d $base co -r $r $f
306 411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} msg]} {
307 412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {[string match {*invalid change text*} $msg]} {
308 413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# The archive of the file is corrupted and the
309 414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# chosen version not accessible due to that. We
310 415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# report the problem, but otherwise ignore it. As
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # a consequence the fossil repository will not
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # a consequence the destination repository will not
312 417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# contain the full history of the named file. By
313 418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# ignoring the problem we however get as much as
314 419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# is possible.
315 420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
316 421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
write 0 cvs "EE Corrupted archive file. Inaccessible revision."
@@ -362,24 +467,10 @@
362 467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set c [lindex [$rtree children $c] 0]
363 468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
364 469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
365 470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
366 471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::root {} {
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 0
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::ntrunk {} {
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable ntrunk
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return $ntrunk
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- proc ::vc::cvs::ws::ncsets {} {
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- variable ncs
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return $ncs
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
381 472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# -----------------------------------------------------------------------------
382 473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Internal helper commands: Changeset inspection and construction.
383 474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
384 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::CSClear {} {
385 476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
upvar 1 start start end end cm cm user user files files lastd lastd
@@ -402,11 +493,11 @@
402 493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::CSNew {entry} {
403 494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
upvar 1 start start end end cm cm user user files files lastd lastd reason reason
404 495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
405 496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#puts -nonewline stdout . ; flush stdout
406 497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {op ts a rev f ecm} $entry break
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {op ts a rev f ecm} $entry break
408 499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
409 500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# User change
410 501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$a ne $user} {set reason user ; return 1}
411 502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
412 503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# File already in current cset
@@ -430,12 +521,12 @@
430 521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
upvar 1 start start end end cm cm user user files files lastd lastd
431 522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
432 523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set csets($ncs) [list $user $cm $start $end $lastd [array get files]]
433 524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
434 525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Record which revisions of a file are in what csets
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {f or} [array get files] {
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {_ rev} $or break
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {f or} [array get files] {
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {_ rev} $or break
437 528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set cmap([list $f $rev]) $ncs
438 529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
439 530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
440 531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#CSDump $ncs
441 532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -444,11 +535,11 @@
444 535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
445 536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
446 537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::CSAdd {entry} {
447 538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
upvar 1 start start end end cm cm user user files files lastd lastd
448 539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {op ts a rev f ecm} $entry break
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {op ts a rev f ecm} $entry break
450 541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
451 542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$start eq ""} {set start $ts}
452 543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set end $ts
453 544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set cm $ecm
454 545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set user $a
@@ -457,26 +548,30 @@
457 548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
458 549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
459 550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
460 551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc ::vc::cvs::ws::CSDump {c} {
461 552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable csets
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {u cm s e rd f} $csets($c) break
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {u cm s e rd f} $csets($c) break
463 554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
464 555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
puts "$u $s"; regsub -all {.} $u { } b
465 556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
puts "$b $e"
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {f or} $f {
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach {o r} $or break
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {f or} $f {
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ::foreach {o r} $or break
468 559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
puts "$b $o $f $r"
469 560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
470 561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
471 562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
472 563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # -----------------------------------------------------------------------------
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
473 566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
namespace eval ::vc::cvs::ws {
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- namespace export at scan csets rtree workspace wsignore wsclear wssetup \
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- foreach_cset root ntrunk ncsets
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable base {} ; # Toplevel repository directory
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable project {} ; # Sub directory to limit the import to.
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ namespace export configure begin done foreach ncsets checkout
476 571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
477 572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
478 573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# -----------------------------------------------------------------------------
479 574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Ready
480 575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
481 576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
package provide vc::cvs::ws 1.0
482 577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
483 578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!