Skip to content
Snippets Groups Projects
Commit e54cd1ad authored by zimoch's avatar zimoch
Browse files

fixed: problem when current dir was not in CVS

parent 4c18b96a
No related branches found
No related tags found
1 merge request!7Submodule merge
...@@ -6,6 +6,16 @@ set global_context [scancontext create] ...@@ -6,6 +6,16 @@ set global_context [scancontext create]
set file_context [scancontext create] set file_context [scancontext create]
set skip_context [scancontext create] set skip_context [scancontext create]
scanmatch $global_context {no such directory `(.*)'} {
puts stderr "checking directory $matchInfo(submatch0): so such directory => version test"
return
}
scanmatch $global_context {there is no version here} {
puts stderr "checking current directory: not in cvs => version test"
return
}
scanmatch $global_context {^File: .*Up-to-date} { scanmatch $global_context {^File: .*Up-to-date} {
set file [lindex $matchInfo(line) 1] set file [lindex $matchInfo(line) 1]
puts -nonewline stderr "checking $file: " puts -nonewline stderr "checking $file: "
...@@ -88,21 +98,24 @@ scanmatch $file_context {=================} { ...@@ -88,21 +98,24 @@ scanmatch $file_context {=================} {
return return
} }
#cvs bug: calling cvs status for files in other directories spoils status information for local files. # cvs bug: calling cvs status for files in other directories spoils status
#fix: make localfiles non-local: x -> ../dir/x # information for local files.
set dir ../[file tail [pwd]] # fix: check local and non local files separately
set files $dir
set cvsstatus [open "|cvs status -l -v 2>@ stdout"]
scanfile $global_context $cvsstatus
if [catch {close $cvsstatus}] {set version test}
set files {}
foreach file $argv { foreach file $argv {
if {[file tail $file] == $file} { if {[file tail $file] != $file} {
lappend files $dir/$file
} else {
lappend files $file lappend files $file
} }
} }
if [llength $files] {
set cvsstatus [open "|cvs status -l -v $files 2>/dev/null"] set cvsstatus [open "|cvs status -l -v $files 2>@ stdout"]
scanfile $global_context $cvsstatus scanfile $global_context $cvsstatus
close $cvsstatus if [catch {close $cvsstatus}] {set version test}
}
if {![info exists version]} {set version test} if {![info exists version]} {set version test}
puts $version puts $version
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment