11# ###################################
22# Self-update utilities
33
4- namespace eval ::cv_dashboard {}
4+ namespace eval ::cv_dashboard {
5+ variable repo_user " Colvars"
6+ variable repo_name " colvars"
7+ variable branch " dashboard_update"
8+ }
59
610proc ::cv_dashboard::check_version_file {} {
711 variable version
@@ -19,7 +23,7 @@ proc ::cv_dashboard::check_version_file {} {
1923 }
2024
2125 set fp [open $temp_file r]
22- set remote_version [string trim [read $fp ]]
26+ set remote_version [string map { " - " " . " } [ string trim [read $fp ] ]]
2327 close $fp
2428 file delete $temp_file
2529
@@ -29,8 +33,8 @@ proc ::cv_dashboard::check_version_file {} {
2933
3034proc ::cv_dashboard::compare_versions {current latest} {
3135 # Versioned by date: e.g. 2025-05-21
32- set current_parts [split $current " - " ]
33- set latest_parts [split $latest " - " ]
36+ set current_parts [split $current " . " ]
37+ set latest_parts [split $latest " . " ]
3438
3539 # Pad with zeros if needed
3640 while {[llength $current_parts ] < 3} {lappend current_parts 0}
@@ -180,7 +184,6 @@ proc ::cv_dashboard::self_update {{force false}} {
180184 download_directory_smart $repo_user $repo_name " vmd/cv_dashboard" $branch $temp_dir
181185
182186 # Replace current installation
183- puts " Installing update..."
184187 file delete -force $package_dir
185188 file rename $temp_dir $package_dir
186189
@@ -245,23 +248,10 @@ proc ::cv_dashboard::cleanup_backups { package_dir {keep 2}} {
245248 }
246249}
247250
248- proc ::cv_dashboard::load_newer_version {} {
249-
250- # Try to load updated local version
251- set package_dir [get_local_dir]
252- if {[file exists $package_dir ]} {
253- # Compare versions
254- set version_file [open [file join $package_dir " cv_dashboard" VERSION]]
255- gets $version_file LOCAL_VERSION
256- close $version_file
257- if { [string compare $LOCAL_VERSION $::cv_dashboard::version ] > 0 } {
258- puts " Superseding current version ($::cv_dashboard::version ) with local installation of cv_dashboard from $package_dir ($LOCAL_VERSION )"
259- package forget cv_dashboard
260- namespace delete ::cv_dashboard
261- source [file join $package_dir " cv_dashboard" pkgIndex.tcl]
262- package require cv_dashboard
263- return true
264- }
265- }
266- return false
251+ proc ::cv_dashboard::read_version { path } {
252+ set version_file [open [file join $path VERSION]]
253+ gets $version_file git_date
254+ set version [string map { " -" " ." } $git_date ]
255+ close $version_file
256+ return $version
267257}
0 commit comments