summaryrefslogtreecommitdiff
path: root/src/cmd
AgeCommit message (Collapse)AuthorFilesLines
2021-03-12feat: show warnings for any problems backing up filesLars Wirzenius1-10/+30
Previously, we either ignored it or aborted the backup. Neither is good. Now we ignore the problem, except to show a warning at the end of the backup run.
2021-03-12fix: backup and restore of symlinkLars Wirzenius1-4/+2
2021-03-03fix: allow generation temporary files to be automatically deletedLars Wirzenius4-97/+53
By not calling NamedTempFile::persist, the files get deleted automatically when the file is closed or the struct is dropped. Previously we were deleting the temporary files manually, which meant that sometimes they weren't deleted if the program crashed at an unfortunate time.
2021-02-23feat: have separate progress bar for each backup phaseLars Wirzenius1-8/+8
2021-02-19feat: backup and restore named pipes (FIFOs)Lars Wirzenius2-1/+18
2021-02-19feat: back up and restore Unix domain socketsLars Wirzenius2-12/+32
2021-02-16refactor: use bytesize::MIB constant for clearer sizeLars Wirzenius1-1/+2
2021-02-16refactor: split BackupRun into initial, incremental variantsLars Wirzenius1-15/+25
This is clearer, easier to modify than having a flag to indicate which variant we're running.
2021-02-07feat: if file can't be read, log that, don't end backup in errorLars Wirzenius1-1/+5
Such files won't be restored, as they'd be restored as empty file, and that would be confusing and thus bad.
2021-02-06feat! back up multiple rootsLars Wirzenius1-23/+47
This changes the client configuration file "root" field (with a single string) to "roots" (a list of strings).
2021-02-06feat: use the chunk size setting from the client configurationLars Wirzenius1-3/+7
Use the chunk_size setting for file data. For the SQLite file, use a hard-coded size instead.
2021-02-06feat: client verifies server's TLS certificate by defaultLars Wirzenius5-5/+5
Configuration setting can disable it.
2021-02-04feat: add obnam config subcommandLars Wirzenius2-0/+10
2021-02-04refactor: have per-module error enumsLars Wirzenius6-30/+44
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-16feat: add "obnam show-generation" subcommandLars Wirzenius2-0/+49
2021-01-16feat: backup run now ends with a summaryLars Wirzenius1-3/+10
"obnam backup" now writes a summary like the following at the end: status: OK duration: 24 file-count: 119245 generation-id: ef353c79-a94f-4903-bd80-e741ea454c84 We can add more fields to that later, as needed and requested. This was the data that's easily at hand.
2021-01-10feat! use SQLite db for chunk index on serverLars Wirzenius1-2/+3
This speeds startup a lot. However, the backup repository needs to be re-created from scratch and internal APIs have change in incompatible ways.
2021-01-05refactor: add BackedUpFile to avoid using a tupleLars Wirzenius2-8/+9
The struct is easier to use right.
2021-01-05refactor: move policy on whether to back up a file into a moduleLars Wirzenius2-151/+14
This commit also splits up the src/cmd/backup.rs module into other, smaller, more cohesive modules that are easier to understand and use.
2021-01-04feat: verify checksum of chunks downloaded from serverLars Wirzenius2-0/+18
2021-01-04feat! record whether file was backed up and why, in a generationLars Wirzenius4-20/+105
This changes SQL schema.
2021-01-01feat! use signed 64 bit integers as file numbers, file countsLars Wirzenius2-7/+7
2020-12-31feat: incremental backupLars Wirzenius1-27/+111
This uses the previous, latest generation as a guideline to see what is new or changed.
2020-12-31refactor: add LocalGeneration type for read-only operationsLars Wirzenius1-19/+6
This splits the use of NascentGeneration to more cohesive "new generation being built" versus "existing generation being restored".
2020-12-30feat: allow restoring latest generationLars Wirzenius1-1/+9
2020-12-30feat: add GenerationListLars Wirzenius1-3/+2
Various part of Obnam will need to deal with lists of generations. Abstract this.
2020-12-30feat! store and show timestamp for each backup generationLars Wirzenius1-2/+4
This changes the output format of "obnam list".
2020-12-27refactor: rename Generation to NascentGenerationLars Wirzenius2-6/+6
New name is more descriptive.
2020-12-26refactor: rename FileSystemEntry::path to pathbufLars Wirzenius2-7/+9
This is a step towards changing how filenames are stored in FileSystemEntry.
2020-12-23feat: re-enable progress bars for backup and restoreLars Wirzenius2-2/+2
2020-12-23feat! add a global --config optionLars Wirzenius3-9/+3
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-12-12feat: back up and restore symlinksLars Wirzenius2-3/+26
2020-12-12feat: restore metadata as well as file contententsLars Wirzenius1-16/+81
2020-11-23feat: progress reporting to backups and restoresLars Wirzenius2-5/+51
2020-11-22feat! use temporary files for SQLite databasesLars Wirzenius2-3/+35
The user should not have to specify filenames for the databases, since they don't actually care where they're stored.
2020-11-22refactor: use the same ClientConfig for both backups and restoresLars Wirzenius1-16/+2
2020-11-18feat! change client config to take a base URL instead of host, portLars Wirzenius3-5/+4
2020-11-13refactor: put all client functionality into one programLars Wirzenius4-0/+157