(html (head (title "sph-lib (sph filesystem versioning)") (link (@ (rel "stylesheet") (type "text/css") (href "/css/sph.css"))) (meta (@ (name "viewport") (content "width=device-width,initial-scale=1"))) #f) (body () (div (@ (class top)) (nav (a (@ (href "/")) "start") ", " (a (@ (href "/feed.xml")) "feed")) "") (div (@ (class "middle")) (div (@ (class mtime) (title "last modification time of the current page")) "2023-04-05") (section (h1 "(sph filesystem versioning)") (div (p "gives a path to the next version of a file and automatically archives the old version.") (p "part of " (a (@ (href "../../sph-lib.html")) "sph-lib")) ((section (@ (class "library-description")) (h1 "library description") (div (p "optionally depends on the \"diff\" and \"patch\" utilities for storing incremental changes.") (p "# features") (p "restore old versions") (p "can use diff/patch files for previous versions for text files") (p "limit the number of past versions to keep") (p "size limit option to exclude big files from creating multiple versions") (p "version identifiers are monotonically increasing integers in hexadecimal"))) (section (@ (class "library-name")) (h1 "module name") (p "(sph filesystem versioning)")) (section (@ (class "library-exports")) (h1 "exported bindings") (div (div (@ (class "doc-bindings")) (div (@ (id "doc-b-" "sph-filesystem-versioning-description") (class "doc-b")) (div (span (@ (class "type")) "variable") ": " (span (@ (class "name")) "sph-filesystem-versioning-description")) "" "") (div (@ (id "doc-b-" "versioning-create") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "versioning-create") " " (span (@ (class "first-sig")) "type path proc config ->")) (div (@ (class "rest-sig")) (div "symbol:text/binary string procedure:{string ->} -> integer:current-version-id")) (div (@ (class "description")) (("calls \\\"proc\\\" with a path to an empty file which is the next version, and moves the old file to" (br) "the directory for previous versions which is set in \\\"config\\\"." (br) "if type is the symbol \\\"text\\\", then only the differences are stored in the previous version")))) (div (@ (id "doc-b-" "versioning-default-config") (class "doc-b")) (div (span (@ (class "type")) "variable") ": " (span (@ (class "name")) "versioning-default-config")) "" "") (div (@ (id "doc-b-" "versioning-restore") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "versioning-restore") " " (span (@ (class "first-sig")) "type path version-id config ->")) (div (@ (class "rest-sig")) (div "symbol:text/binary string integer -> string")) (div (@ (class "description")) (("result in a path to a file which is \\\"path\\\" at version \\\"version-id\\\"." (br) "the result path is not necessarily a copy"))))))))))) ()))