--- tkdiff 2008-05-04 00:01:34.000000000 +0100 +++ tkdiff 2008-05-04 01:04:24.000000000 +0100 @@ -772,6 +772,7 @@ # There is not necessarily a RCS directory for RCS, either. The file # always has a ,v suffix. + set cmd "" if {[file isdirectory [file join $dirname CVS]]} { set cmd "cvs" if {$::tcl_platform(platform) == "windows"} { @@ -908,6 +909,23 @@ exit } } else { + for {set d [file normalize $dirname]} {$d != [file dirname $d]} {set d [file dirname $d]} { + if {[file isdirectory [file join $d ".bzr"]]} { + set cmd "bzr" + if {$::tcl_platform(platform) == "windows"} { + append cmd ".exe" + } + if {$rev == "" || $rev == "HEAD"} { + set command "$cmd cat $f" + } else { + set command "$cmd cat -r$rev $f" + } + die-unless "exec $command" $finfo(pth,$index) + break + } + } + } + if {$cmd == {}} { fatal-error "File '$f' is not part of a revision control system" } # Header above each file - if user has specified -L, override