dsc | 7 +++++++ diff --git a/dsc b/dsc index ea17239295d7235207e670cf7bb6d018515cb9ae08ff55f04d322b0052f5853c..96f267ffd2c9f0618cf481f4a6f64a7a50ccf1dba9ec001604ce842b9dc728ea 100755 --- a/dsc +++ b/dsc @@ -44,6 +44,7 @@ $DSC_STASH -- path to stashed/unsaved state $DSC_SAVED -- path to committed/saved state $DSC_HASHERS -- "sha2-512 sha512" by default. Newline-separated list of "hash-name cmd" pairs + $DSC_CSUM_ON_COMMIT=1 -- create $DSC_SAVED.csum file during commit There are two kinds of options: * array/list ones, which are identified with /*/ in "list"'s @@ -350,6 +351,12 @@ exec sync file rename $Saved $Saved.bak file rename $tmp $Saved file delete -force $Saved.bak + if {[info exists env(DSC_CSUM_ON_COMMIT)]} { + exec {*}[list $argv0 export-raw | $argv0 csum >$Saved.csum.tmp] + file delete -force $Saved.csum + file rename $Saved.csum.tmp $Saved.csum + exec sync + } } csum { set hsh [list]