Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-01-19 | refactor: use ChunkId directly in errors, instead of String | Lars Wirzenius | 3 | -9/+10 | |
2021-01-17 | feat: add a default configuration file | Lars Wirzenius | 2 | -3/+19 | |
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-16 | feat: add "obnam show-generation" subcommand | Lars Wirzenius | 3 | -1/+55 | |
2021-01-16 | feat: backup run now ends with a summary | Lars Wirzenius | 2 | -3/+11 | |
"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-10 | feat! use SQLite db for chunk index on server | Lars Wirzenius | 9 | -174/+249 | |
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-05 | refactor: add BackedUpFile to avoid using a tuple | Lars Wirzenius | 4 | -13/+56 | |
The struct is easier to use right. | |||||
2021-01-05 | refactor: move policy on whether to back up a file into a module | Lars Wirzenius | 9 | -156/+258 | |
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-04 | refactor: use fetch_chunk to fetch generation | Lars Wirzenius | 2 | -13/+9 | |
Also, add GenerationChunk::from_data_chunk function. | |||||
2021-01-04 | feat: verify checksum of chunks downloaded from server | Lars Wirzenius | 6 | -4/+54 | |
2021-01-04 | refactor: add a type alias for file identifiers in generations | Lars Wirzenius | 1 | -15/+18 | |
2021-01-04 | feat! record whether file was backed up and why, in a generation | Lars Wirzenius | 6 | -43/+142 | |
This changes SQL schema. | |||||
2021-01-04 | feat: add an index for chunk ids lookups | Lars Wirzenius | 1 | -0/+1 | |
2021-01-03 | feat: load chunk metadata into index at startup | Lars Wirzenius | 3 | -4/+47 | |
This needs to be replace with a database or something, but it'll do for now. | |||||
2021-01-01 | feat: use SQL to look up information for a file, by filename | Lars Wirzenius | 1 | -14/+24 | |
This speeds things up a lot compared to iterating over all files. | |||||
2021-01-01 | feat! use signed 64 bit integers as file numbers, file counts | Lars Wirzenius | 3 | -24/+22 | |
2021-01-01 | refactor: move SQL use into sub-module | Lars Wirzenius | 1 | -58/+92 | |
This keeps all the SQL related functions closer together, making it easier to make changes to them. | |||||
2020-12-31 | feat: incremental backup | Lars Wirzenius | 6 | -36/+150 | |
This uses the previous, latest generation as a guideline to see what is new or changed. | |||||
2020-12-31 | refactor: add LocalGeneration type for read-only operations | Lars Wirzenius | 3 | -80/+90 | |
This splits the use of NascentGeneration to more cohesive "new generation being built" versus "existing generation being restored". | |||||
2020-12-30 | debug | Lars Wirzenius | 2 | -2/+8 | |
2020-12-30 | fix: actually use nanosecond timestamps | Lars Wirzenius | 1 | -1/+1 | |
2020-12-30 | fix: add missing source files | Lars Wirzenius | 2 | -0/+51 | |
2020-12-30 | feat: allow restoring latest generation | Lars Wirzenius | 2 | -1/+10 | |
2020-12-30 | feat: add GenerationList | Lars Wirzenius | 4 | -5/+7 | |
Various part of Obnam will need to deal with lists of generations. Abstract this. | |||||
2020-12-30 | feat! store and show timestamp for each backup generation | Lars Wirzenius | 3 | -7/+21 | |
This changes the output format of "obnam list". | |||||
2020-12-27 | add FinishedGeneration | Lars Wirzenius | 1 | -1/+30 | |
2020-12-27 | refactor: rename Generation to NascentGeneration | Lars Wirzenius | 3 | -10/+10 | |
New name is more descriptive. | |||||
2020-12-26 | feat! store pathnames a vectors of bytes | Lars Wirzenius | 1 | -3/+6 | |
This is the most generic way to store filenames. | |||||
2020-12-26 | refactor: rename FileSystemEntry::path to pathbuf | Lars Wirzenius | 4 | -12/+14 | |
This is a step towards changing how filenames are stored in FileSystemEntry. | |||||
2020-12-23 | feat! only specify base URL of server, without /chunks | Lars Wirzenius | 1 | -6/+10 | |
2020-12-23 | refactor: use a struct instead of a tuple | Lars Wirzenius | 4 | -9/+31 | |
It seems this is more idiomatic in Rust. | |||||
2020-12-23 | feat! let server address be configured | Lars Wirzenius | 1 | -8/+13 | |
Instead of just specifying port, let the address (or name) be configured. | |||||
2020-12-23 | feat: re-enable progress bars for backup and restore | Lars Wirzenius | 2 | -2/+2 | |
2020-12-23 | feat: add log file to client | Lars Wirzenius | 2 | -10/+35 | |
2020-12-23 | feat! add a global --config option | Lars Wirzenius | 4 | -25/+22 | |
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-12 | feat: back up and restore symlinks | Lars Wirzenius | 5 | -8/+56 | |
2020-12-12 | feat: restore metadata as well as file contentents | Lars Wirzenius | 2 | -16/+105 | |
2020-12-11 | add timestamps to fsentry | Lars Wirzenius | 1 | -8/+15 | |
2020-12-11 | store mode in fsentry | Lars Wirzenius | 1 | -1/+13 | |
2020-12-11 | refactor: how FsEntry structs are created | Lars Wirzenius | 2 | -47/+19 | |
Now from a Metadata struct, instead of a bunch of field values. The justification for this is that callers shouldn't have to unpack a Metadata, especially since it'll be different for each operating system in the future. Keep all that in one place instead. | |||||
2020-12-11 | feat! store file metadata as JSON | Lars Wirzenius | 2 | -26/+14 | |
This avoids having to add extra columns when we add more metadata support. This may be worth re-thinking later, once things stabilize. | |||||
2020-11-27 | feat! make obnam-server always use TLS | Lars Wirzenius | 1 | -3/+3 | |
This will ruin my benchmark results, but it's the right thing to do. | |||||
2020-11-25 | perf: store chunks on disk in a 3-level directory tree | Lars Wirzenius | 2 | -9/+37 | |
git does the same thing. This improves the wall clock time to run benchmark-store with a million chunks from a 40.36 seconds to 18.70, on a system with NVMe and ext4. | |||||
2020-11-25 | feat: add programs to benchmark server chunk storage | Lars Wirzenius | 7 | -0/+156 | |
2020-11-24 | refactor: add an abstraction for an indexed store | Lars Wirzenius | 3 | -61/+89 | |
This makes it easier to write a server without the HTTP layer. | |||||
2020-11-23 | feat: progress reporting to backups and restores | Lars Wirzenius | 3 | -23/+88 | |
2020-11-22 | feat! use temporary files for SQLite databases | Lars Wirzenius | 4 | -13/+36 | |
The user should not have to specify filenames for the databases, since they don't actually care where they're stored. | |||||
2020-11-22 | refactor: use the same ClientConfig for both backups and restores | Lars Wirzenius | 1 | -16/+2 | |
2020-11-18 | feat! change client config to take a base URL instead of host, port | Lars Wirzenius | 4 | -10/+10 | |
2020-11-13 | refactor: split obnam's bindings, functions for clarity | Lars Wirzenius | 1 | -1/+3 | |
The old subplot/obnam.{yaml,py} were starting to get large enough that it was hard to understand them. Also, were partly overlapping in functionality with runcmd. | |||||
2020-11-13 | refactor: put all client functionality into one program | Lars Wirzenius | 8 | -82/+106 | |