summaryrefslogtreecommitdiff
path: root/src/bin/obnam.rs
AgeCommit message (Collapse)AuthorFilesLines
2022-11-02fix: put back --versionLars Wirzenius1-1/+1
Sponsored-by: author
2022-10-23refactor: use clap instead of structoptLars Wirzenius1-7/+7
clap version 3 basically replaces structopt entirely. Sponsored-by: author
2022-04-05feat: collect and log some time metricsLars Wirzenius1-3/+8
Log the complete run-time of the program, and the time spent downloading the previous generation, and uploading the new generation. Sponsored-by: author
2022-03-20feat: add subcommands inspect, list-backup-versionsLars Wirzenius1-0/+6
Sponsored-by: author
2021-10-24feat! store schema version of generation database in the dbLars Wirzenius1-0/+3
Add a new mandatory database table "meta" to the SQLite database the stores information about the files in a backup generation. The idea is for future versions of the Obnam client to be able to be able to restore from backups made by older -- or newer -- versions of Obnam, as far as is reasonable. Add the `obnam gen-info` command to show information about the generation metadata. Sponsored-by: author
2021-08-01feat: add command to resolve a generation ref into a chunk idLars Wirzenius1-0/+3
Sponsored-by: author
2021-07-18feat: add "chunkify" subcommandLars Wirzenius1-0/+3
Sponsored-by: author
2021-07-05refactor: have main explicitly print error messageLars Wirzenius1-8/+11
This is a little cleaner than having main print an error message by returning an Err value as a Result. For one thing, we can be more sure we log the error. Sponsored-by: author
2021-05-29refactor: only have client config without passwordsLars Wirzenius1-24/+15
This means the config is always the config, and not sometimes the config or the config and passwords. Also, there's no config option for encrypting, anymore. It will not be optional now.
2021-04-10refactor: main function for clarityLars Wirzenius1-13/+14
2021-04-10refactor: have ClientConfigWithoutPasswords know its filenameLars Wirzenius1-2/+1
This allows Init::run to not need to be given it as an argument.
2021-04-10refactor: struct ShowConfig subcommandLars Wirzenius1-5/+5
2021-04-10refactor: struct GetChunk subcommandLars Wirzenius1-6/+4
2021-04-10refactor: struct Restore subcommandLars Wirzenius1-9/+4
2021-04-10refactor: struct ListFiles subcommandLars Wirzenius1-6/+4
2021-04-10refactor: struct ShowGeneration subcommandLars Wirzenius1-6/+4
2021-04-10refactor: struct List subcommandLars Wirzenius1-3/+4
2021-04-10refactor: struct Backup subcommandLars Wirzenius1-3/+4
2021-04-10refactor: struct Init subcommandLars Wirzenius1-15/+6
2021-04-10refactor: move ClientConfig into its own moduleLars Wirzenius1-1/+1
2021-04-09refactor: move function to better placeLars Wirzenius1-13/+13
2021-04-09feat: add "obnam init" subcommandLars Wirzenius1-28/+43
This reads a passphrase and derives two passwords from that, and stores them next to the configuration file. The passwords aren't yet used for anything, that will come later.
2021-03-24refactor: switch from dirs crate to directories-nextLars Wirzenius1-5/+8
It's a higher-level library and a little nicer to use.
2021-03-03fix: remove duplicate error message printingLars Wirzenius1-1/+0
2021-03-03feat: in errors about reading a configuration file, include its nameLars Wirzenius1-5/+20
2021-02-19feat: back up and restore Unix domain socketsLars Wirzenius1-1/+1
2021-02-06feat: use the chunk size setting from the client configurationLars Wirzenius1-6/+2
Use the chunk_size setting for file data. For the SQLite file, use a hard-coded size instead.
2021-02-04feat: add obnam config subcommandLars Wirzenius1-1/+3
2021-02-04refactor: have per-module error enumsLars Wirzenius1-1/+1
This means that a function that parses step bindings can't return an error that the document is missing a title. Such an error return would be nonsensical, and we use the Rust type system to prevent it, at a small cost of being a bit verbose. Additional benefit is that the library portion of Obnam doesn't return anyhow::Result values anymore.
2021-01-17feat: add a default configuration fileLars Wirzenius1-2/+16
The ~/.config/obnam/obnam.yaml file will be used as the configuration file by default. The ~/.config directory can be overridden by setting the XDG variable (XDG_CONFIG_HOME), or the whole file can be overridden with the --config option to obnam.
2021-01-16feat: add "obnam show-generation" subcommandLars Wirzenius1-1/+6
2021-01-04feat: verify checksum of chunks downloaded from serverLars Wirzenius1-1/+6
2021-01-04feat! record whether file was backed up and why, in a generationLars Wirzenius1-1/+6
This changes SQL schema.
2020-12-23feat: add log file to clientLars Wirzenius1-10/+34
2020-12-23feat! add a global --config optionLars Wirzenius1-16/+19
This breaks all invocations of the Obnam client, as the option needs to come before the subcommand name. The benefit of this breakage is simpler, less repetitive code.
2020-11-22feat! use temporary files for SQLite databasesLars Wirzenius1-9/+1
The user should not have to specify filenames for the databases, since they don't actually care where they're stored.
2020-11-13refactor: put all client functionality into one programLars Wirzenius1-0/+52