Skip to content

goback commit

Back up, list, restore, delete and undelete commits

Terminal window
goback [global flags] commit <command>

Back up a directory as a new commit; unchanged files are taken from the set’s latest commit

Terminal window
goback [global flags] commit new [flags] [directory]
Flag Description Environment Default
--include value, -i value back up paths that match this glob, even if an –exclude matches them; patterns start with / at the directory; repeatable
--exclude value, -e value skip paths that match this glob; patterns start with / at the directory; repeatable
--workers value, -w value how many files to read and upload at once 24
--force-hash value percentage of seemingly unchanged files to hash anyway, to check the change detection
--checkpoint-interval value save a partial commit this often so an interrupted run keeps its progress; 0 disables 30m0s
--scan-workers value how many directories to list ahead of the walk; a negative value lists each directory when the walk reaches it 4
--read-retries value how many times to re-read a file that changes while it is being read 3
--lost-retries value how many times to walk again when the store loses objects of the run before it commits; 0 fails the run instead 1
--progress-interval value how often to report the walk’s progress; negative disables 15s
--meta value key=value label to store with the commit or pin; repeatable
--pre-hook value shell command to run before the walk, for example to pause the application’s writes; see contrib/hooks
--post-hook value shell command to run after the walk, whether the walk succeeds, fails, is stopped with Ctrl-C or hits a deadline
--hook-timeout value time limit for each hook 5m0s
--hook-optional back up even if the pre-hook fails
--max-duration value cancel the walk after this long; the post-hook still runs; 0 disables

List commits

Terminal window
goback [global flags] commit list [flags]
Flag Description Environment Default
--deleted list the deleted commits that can still be undeleted

Restore a commit into a directory in place; parts the directory already has are not downloaded

Terminal window
goback [global flags] commit restore [flags] <directory> [age]
Flag Description Environment Default
--from value restore only the subtree at this slash-separated path in the commit
--ref value restore the commit with this hex ref
--at value restore the newest commit at or before this RFC3339 time
--delete delete files in the target that are not in the commit
--force restore even if a running server holds a session.lock in the target
--progress-interval value how often to report the files and bytes restored so far; negative disables 15s
--overwrite value how to treat an existing file: always hashes every part and rewrites what differs; if-changed skips it when size and mtime match always
--verify hash each written file again before it replaces the existing one
--dry-run report what would change without writing
--seed value file or directory to copy matching chunks from instead of downloading them; repeatable
--workers value how many files and parts to fetch at once 48
--salvage write the readable parts when parts are missing; leave holes for the rest and report them

Retire a commit; it can be undeleted until its trash window ends

Terminal window
goback [global flags] commit delete <ref>

Bring back a retired commit before its trash window ends

Terminal window
goback [global flags] commit undelete <ref>

Bring back tombstoned commits whose objects the store still holds

Terminal window
goback [global flags] commit unretire [flags] [<ref>...]
Flag Description Environment Default
--set value unretire this set’s tombstoned commits instead of the given refs
--since value with –set, unretire only commits tombstoned at or after this RFC 3339 time or date
--dry-run report what would come back and what is missing without changing anything