Fossil SCM

Added a bit of path normalization, stripping of a trailing slash from the path to the cvs repository. Before such a slash could break a later coming fileutil::stripPath.

aku 2007-10-23 04:34 trunk
Commit 9f3fd3ec4b65c657d5c42422d2a110df9f6c0c11
--- tools/cvs2fossil/lib/c2f_option.tcl
+++ tools/cvs2fossil/lib/c2f_option.tcl
@@ -20,10 +20,11 @@
2020
2121
package require Tcl 8.4 ; # Required runtime.
2222
package require snit ; # OO system.
2323
package require vc::tools::trouble ; # Error reporting.
2424
package require vc::tools::log ; # User feedback.
25
+package require vc::tools::misc ; # Misc. path reformatting.
2526
package require vc::fossil::import::cvs::pass ; # Pass management
2627
package require vc::fossil::import::cvs::pass::collar ; # Pass I.
2728
package require vc::fossil::import::cvs::repository ; # Repository management
2829
package require vc::fossil::import::cvs::state ; # State storage
2930
@@ -80,11 +81,11 @@
8081
}
8182
}
8283
8384
if {[llength $arguments] > 1} Usage
8485
if {[llength $arguments] < 1} { Usage $nocvs }
85
- repository base [lindex $arguments 0]
86
+ repository base [striptrailingslash [lindex $arguments 0]]
8687
8788
Validate
8889
return
8990
}
9091
@@ -189,10 +190,11 @@
189190
namespace eval ::vc::fossil::import::cvs {
190191
namespace export option
191192
namespace eval option {
192193
namespace import ::vc::tools::trouble
193194
namespace import ::vc::tools::log
195
+ namespace import ::vc::tools::misc::striptrailingslash
194196
namespace import ::vc::fossil::import::cvs::pass
195197
namespace import ::vc::fossil::import::cvs::pass::collar
196198
namespace import ::vc::fossil::import::cvs::repository
197199
namespace import ::vc::fossil::import::cvs::state
198200
}
199201
--- tools/cvs2fossil/lib/c2f_option.tcl
+++ tools/cvs2fossil/lib/c2f_option.tcl
@@ -20,10 +20,11 @@
20
21 package require Tcl 8.4 ; # Required runtime.
22 package require snit ; # OO system.
23 package require vc::tools::trouble ; # Error reporting.
24 package require vc::tools::log ; # User feedback.
 
25 package require vc::fossil::import::cvs::pass ; # Pass management
26 package require vc::fossil::import::cvs::pass::collar ; # Pass I.
27 package require vc::fossil::import::cvs::repository ; # Repository management
28 package require vc::fossil::import::cvs::state ; # State storage
29
@@ -80,11 +81,11 @@
80 }
81 }
82
83 if {[llength $arguments] > 1} Usage
84 if {[llength $arguments] < 1} { Usage $nocvs }
85 repository base [lindex $arguments 0]
86
87 Validate
88 return
89 }
90
@@ -189,10 +190,11 @@
189 namespace eval ::vc::fossil::import::cvs {
190 namespace export option
191 namespace eval option {
192 namespace import ::vc::tools::trouble
193 namespace import ::vc::tools::log
 
194 namespace import ::vc::fossil::import::cvs::pass
195 namespace import ::vc::fossil::import::cvs::pass::collar
196 namespace import ::vc::fossil::import::cvs::repository
197 namespace import ::vc::fossil::import::cvs::state
198 }
199
--- tools/cvs2fossil/lib/c2f_option.tcl
+++ tools/cvs2fossil/lib/c2f_option.tcl
@@ -20,10 +20,11 @@
20
21 package require Tcl 8.4 ; # Required runtime.
22 package require snit ; # OO system.
23 package require vc::tools::trouble ; # Error reporting.
24 package require vc::tools::log ; # User feedback.
25 package require vc::tools::misc ; # Misc. path reformatting.
26 package require vc::fossil::import::cvs::pass ; # Pass management
27 package require vc::fossil::import::cvs::pass::collar ; # Pass I.
28 package require vc::fossil::import::cvs::repository ; # Repository management
29 package require vc::fossil::import::cvs::state ; # State storage
30
@@ -80,11 +81,11 @@
81 }
82 }
83
84 if {[llength $arguments] > 1} Usage
85 if {[llength $arguments] < 1} { Usage $nocvs }
86 repository base [striptrailingslash [lindex $arguments 0]]
87
88 Validate
89 return
90 }
91
@@ -189,10 +190,11 @@
190 namespace eval ::vc::fossil::import::cvs {
191 namespace export option
192 namespace eval option {
193 namespace import ::vc::tools::trouble
194 namespace import ::vc::tools::log
195 namespace import ::vc::tools::misc::striptrailingslash
196 namespace import ::vc::fossil::import::cvs::pass
197 namespace import ::vc::fossil::import::cvs::pass::collar
198 namespace import ::vc::fossil::import::cvs::repository
199 namespace import ::vc::fossil::import::cvs::state
200 }
201
--- tools/cvs2fossil/lib/misc.tcl
+++ tools/cvs2fossil/lib/misc.tcl
@@ -57,16 +57,21 @@
5757
set list [lreplace $list $pos $pos]
5858
return
5959
}
6060
6161
# Delete item from list by name
62
+
63
+ proc striptrailingslash {path} {
64
+ # split and rejoin gets rid of a traling / character.
65
+ return [eval [linsert [file split $path] 0 file join]]
66
+ }
6267
6368
# # ## ### ##### ######## #############
6469
}
6570
6671
namespace eval ::vc::tools::misc {
67
- namespace export sp nsp max ldelete
72
+ namespace export sp nsp max ldelete striptrailingslash
6873
}
6974
7075
# -----------------------------------------------------------------------------
7176
# Ready
7277
7378
--- tools/cvs2fossil/lib/misc.tcl
+++ tools/cvs2fossil/lib/misc.tcl
@@ -57,16 +57,21 @@
57 set list [lreplace $list $pos $pos]
58 return
59 }
60
61 # Delete item from list by name
 
 
 
 
 
62
63 # # ## ### ##### ######## #############
64 }
65
66 namespace eval ::vc::tools::misc {
67 namespace export sp nsp max ldelete
68 }
69
70 # -----------------------------------------------------------------------------
71 # Ready
72
73
--- tools/cvs2fossil/lib/misc.tcl
+++ tools/cvs2fossil/lib/misc.tcl
@@ -57,16 +57,21 @@
57 set list [lreplace $list $pos $pos]
58 return
59 }
60
61 # Delete item from list by name
62
63 proc striptrailingslash {path} {
64 # split and rejoin gets rid of a traling / character.
65 return [eval [linsert [file split $path] 0 file join]]
66 }
67
68 # # ## ### ##### ######## #############
69 }
70
71 namespace eval ::vc::tools::misc {
72 namespace export sp nsp max ldelete striptrailingslash
73 }
74
75 # -----------------------------------------------------------------------------
76 # Ready
77
78

Keyboard Shortcuts

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