Fossil SCM

Cleaned up the creation of the workspace directory.

aku 2007-09-17 03:13 trunk
Commit 2740b48b6323093e9abcb57e3bcc90d8dd503bac
1 file changed +18 -34
+18 -34
--- tools/lib/cvs.tcl
+++ tools/lib/cvs.tcl
@@ -68,34 +68,24 @@
6868
}
6969
return 1
7070
}
7171
7272
proc ::vc::cvs::ws::begin {src} {
73
- variable project
74
-
75
- set src [file normalize $src]
7673
if {![check $src msg]} { return -code error $msg }
7774
7875
DefBase $src
7976
MakeTimeline [ScanArchives [files::find [RootPath]]]
8077
8178
# OLD api calls ... TODO rework for more structure ...
8279
csets ; # Group changes into sets
8380
rtree ; # Build revision tree (trunk only right now).
8481
85
- set w [workspace] ; # OLD api ... TODO inline
86
- if {$project ne ""} {
87
- set w $w/$project
88
- file mkdir $w
89
- }
90
- return $w
82
+ return [MakeWorkspace]
9183
}
9284
9385
proc ::vc::cvs::ws::done {} {
94
- variable cwd
95
- variable workspace
96
- cd $cwd
86
+ variable workspace
9787
file delete -force $workspace
9888
return
9989
}
10090
10191
proc ::vc::cvs::ws::foreach {cv script} {
@@ -223,10 +213,23 @@
223213
if {$state eq "dead"} {return "R"} ; # Removed
224214
if {$rev eq "1.1"} {return "A"} ; # Added
225215
return "M" ; # Modified
226216
}
227217
218
+proc ::vc::cvs::ws::MakeWorkspace {} {
219
+ variable project
220
+ variable workspace [fileutil::tempfile importF_cvs_ws_]
221
+
222
+ set w $workspace
223
+ if {$project ne ""} { append w /$project }
224
+
225
+ file delete $workspace
226
+ file mkdir $w
227
+
228
+ write 0 cvs "Workspace: $workspace"
229
+ return $w
230
+}
228231
229232
230233
# Group single changes into changesets
231234
232235
proc ::vc::cvs::ws::csets {} {
@@ -313,22 +316,10 @@
313316
314317
variable rtree {}
315318
variable ntrunk 0
316319
}
317320
318
-proc ::vc::cvs::ws::workspace {} {
319
- variable cwd [pwd]
320
- variable workspace [fileutil::tempfile importF_cvs_ws_]
321
- file delete $workspace
322
- file mkdir $workspace
323
-
324
- write 0 cvs "Workspace: $workspace"
325
-
326
- cd $workspace ; # Checkouts go here.
327
- return $workspace
328
-}
329
-
330321
proc ::vc::cvs::ws::wssetup {c} {
331322
variable csets
332323
variable base
333324
variable project
334325
@@ -393,18 +384,10 @@
393384
394385
# Provide metadata about the changeset the backend may wish to have
395386
return [list $u $s $cm]
396387
}
397388
398
-namespace eval ::vc::cvs::ws {
399
- # Workspace where checkouts happen
400
- # Current working directory to go back to after the import.
401
-
402
- variable workspace {}
403
- variable cwd {}
404
-}
405
-
406389
proc ::vc::cvs::ws::foreach_cset {cv node script} {
407390
upvar 1 $cv c
408391
variable rtree
409392
410393
set c $node
@@ -536,16 +519,17 @@
536519
}
537520
538521
# -----------------------------------------------------------------------------
539522
540523
namespace eval ::vc::cvs::ws {
541
- variable base {} ; # Toplevel repository directory
542
- variable project {} ; # Sub directory to limit the import to.
524
+ variable base {} ; # Toplevel repository directory
525
+ variable project {} ; # Sub directory to limit the import to.
526
+ variable workspace {} ; # Directory to checkout changesets to.
543527
544528
namespace export configure begin done foreach ncsets checkout
545529
}
546530
547531
# -----------------------------------------------------------------------------
548532
# Ready
549533
550534
package provide vc::cvs::ws 1.0
551535
return
552536
--- tools/lib/cvs.tcl
+++ tools/lib/cvs.tcl
@@ -68,34 +68,24 @@
68 }
69 return 1
70 }
71
72 proc ::vc::cvs::ws::begin {src} {
73 variable project
74
75 set src [file normalize $src]
76 if {![check $src msg]} { return -code error $msg }
77
78 DefBase $src
79 MakeTimeline [ScanArchives [files::find [RootPath]]]
80
81 # OLD api calls ... TODO rework for more structure ...
82 csets ; # Group changes into sets
83 rtree ; # Build revision tree (trunk only right now).
84
85 set w [workspace] ; # OLD api ... TODO inline
86 if {$project ne ""} {
87 set w $w/$project
88 file mkdir $w
89 }
90 return $w
91 }
92
93 proc ::vc::cvs::ws::done {} {
94 variable cwd
95 variable workspace
96 cd $cwd
97 file delete -force $workspace
98 return
99 }
100
101 proc ::vc::cvs::ws::foreach {cv script} {
@@ -223,10 +213,23 @@
223 if {$state eq "dead"} {return "R"} ; # Removed
224 if {$rev eq "1.1"} {return "A"} ; # Added
225 return "M" ; # Modified
226 }
227
 
 
 
 
 
 
 
 
 
 
 
 
 
228
229
230 # Group single changes into changesets
231
232 proc ::vc::cvs::ws::csets {} {
@@ -313,22 +316,10 @@
313
314 variable rtree {}
315 variable ntrunk 0
316 }
317
318 proc ::vc::cvs::ws::workspace {} {
319 variable cwd [pwd]
320 variable workspace [fileutil::tempfile importF_cvs_ws_]
321 file delete $workspace
322 file mkdir $workspace
323
324 write 0 cvs "Workspace: $workspace"
325
326 cd $workspace ; # Checkouts go here.
327 return $workspace
328 }
329
330 proc ::vc::cvs::ws::wssetup {c} {
331 variable csets
332 variable base
333 variable project
334
@@ -393,18 +384,10 @@
393
394 # Provide metadata about the changeset the backend may wish to have
395 return [list $u $s $cm]
396 }
397
398 namespace eval ::vc::cvs::ws {
399 # Workspace where checkouts happen
400 # Current working directory to go back to after the import.
401
402 variable workspace {}
403 variable cwd {}
404 }
405
406 proc ::vc::cvs::ws::foreach_cset {cv node script} {
407 upvar 1 $cv c
408 variable rtree
409
410 set c $node
@@ -536,16 +519,17 @@
536 }
537
538 # -----------------------------------------------------------------------------
539
540 namespace eval ::vc::cvs::ws {
541 variable base {} ; # Toplevel repository directory
542 variable project {} ; # Sub directory to limit the import to.
 
543
544 namespace export configure begin done foreach ncsets checkout
545 }
546
547 # -----------------------------------------------------------------------------
548 # Ready
549
550 package provide vc::cvs::ws 1.0
551 return
552
--- tools/lib/cvs.tcl
+++ tools/lib/cvs.tcl
@@ -68,34 +68,24 @@
68 }
69 return 1
70 }
71
72 proc ::vc::cvs::ws::begin {src} {
 
 
 
73 if {![check $src msg]} { return -code error $msg }
74
75 DefBase $src
76 MakeTimeline [ScanArchives [files::find [RootPath]]]
77
78 # OLD api calls ... TODO rework for more structure ...
79 csets ; # Group changes into sets
80 rtree ; # Build revision tree (trunk only right now).
81
82 return [MakeWorkspace]
 
 
 
 
 
83 }
84
85 proc ::vc::cvs::ws::done {} {
86 variable workspace
 
 
87 file delete -force $workspace
88 return
89 }
90
91 proc ::vc::cvs::ws::foreach {cv script} {
@@ -223,10 +213,23 @@
213 if {$state eq "dead"} {return "R"} ; # Removed
214 if {$rev eq "1.1"} {return "A"} ; # Added
215 return "M" ; # Modified
216 }
217
218 proc ::vc::cvs::ws::MakeWorkspace {} {
219 variable project
220 variable workspace [fileutil::tempfile importF_cvs_ws_]
221
222 set w $workspace
223 if {$project ne ""} { append w /$project }
224
225 file delete $workspace
226 file mkdir $w
227
228 write 0 cvs "Workspace: $workspace"
229 return $w
230 }
231
232
233 # Group single changes into changesets
234
235 proc ::vc::cvs::ws::csets {} {
@@ -313,22 +316,10 @@
316
317 variable rtree {}
318 variable ntrunk 0
319 }
320
 
 
 
 
 
 
 
 
 
 
 
 
321 proc ::vc::cvs::ws::wssetup {c} {
322 variable csets
323 variable base
324 variable project
325
@@ -393,18 +384,10 @@
384
385 # Provide metadata about the changeset the backend may wish to have
386 return [list $u $s $cm]
387 }
388
 
 
 
 
 
 
 
 
389 proc ::vc::cvs::ws::foreach_cset {cv node script} {
390 upvar 1 $cv c
391 variable rtree
392
393 set c $node
@@ -536,16 +519,17 @@
519 }
520
521 # -----------------------------------------------------------------------------
522
523 namespace eval ::vc::cvs::ws {
524 variable base {} ; # Toplevel repository directory
525 variable project {} ; # Sub directory to limit the import to.
526 variable workspace {} ; # Directory to checkout changesets to.
527
528 namespace export configure begin done foreach ncsets checkout
529 }
530
531 # -----------------------------------------------------------------------------
532 # Ready
533
534 package provide vc::cvs::ws 1.0
535 return
536

Keyboard Shortcuts

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