Differences From:
File
tools/lib/cvs.tcl
part of check-in
[d4aa7da67d]
- Continuing namespace changes, rcs parser. Basic structure is now ok IMHO.
by
aku on
2007-09-13 06:24:31.
[view]
To:
File
tools/lib/cvs.tcl
part of check-in
[cdf5e6d8b7]
- Encapsulated access to the fossil and cvs applications in their own packages.
by
aku on
2007-09-13 06:59:24.
[view]
@@ -7,14 +7,16 @@
package require Tcl 8.4
package require fileutil ; # Tcllib (traverse directory hierarchy)
package require vc::rcs::parser ; # Handling the RCS archive files.
package require vc::tools::log ; # User feedback
+package require vc::cvs::cmd ; # Access to cvs application.
package require struct::tree
namespace eval ::vc::cvs::ws {
vc::tools::log::system cvs
namespace import ::vc::tools::log::write
namespace import ::vc::rcs::parser::process
+ namespace import ::vc::cvs::cmd::dova
}
# -----------------------------------------------------------------------------
# API
@@ -258,9 +260,8 @@
}
proc ::vc::cvs::ws::wssetup {c} {
variable csets
- variable cvs
variable base
# pwd = workspace
@@ -300,9 +301,9 @@
# Added or modified, put the requested version of the file
# into the workspace.
if {[catch {
- exec $cvs -d $base co -r $r $f
+ dova -d $base co -r $r $f
} msg]} {
if {[string match {*invalid change text*} $msg]} {
# The archive of the file is corrupted and the
# chosen version not accessible due to that. We
@@ -324,13 +325,11 @@
return [list $u $cm $s]
}
namespace eval ::vc::cvs::ws {
- # CVS application
# Workspace where checkouts happen
# Current working directory to go back to after the import.
- variable cvs [auto_execok cvs]
variable workspace {}
variable cwd {}
}