Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-08-09 | refactor: split long func into two | Lars Wirzenius | 2 | -28/+69 | |
Sponsored-by: author | |||||
2021-08-09 | refactor: use async for "obnam backup" | Lars Wirzenius | 3 | -229/+89 | |
This changes things so that "obnam backup" uses async for everything. The old non-async BackupClient and ChunkClient are dropped. This does NOT move the chunking, and checksum computation, to its own function. This will happen later. Sponsored-by: author | |||||
2021-08-09 | refactor: drop NascentGeneration::insert_iter | Lars Wirzenius | 1 | -31/+12 | |
It was only used by a test function, which is now changed to not use it. Add comment to the test function that it's too complicated and things need refactoring. However, that probably needs to wait for new abstractions. Sponsored-by: author | |||||
2021-08-09 | refactor: use for loop over an iterator instead of .insert_iter | Lars Wirzenius | 2 | -56/+66 | |
This makes the code more explicit, which is good for now, and is a step towards making it all use async. There will be a need to refactor this further with better abstractions, once async works. Sponsored-by: author | |||||
2021-08-09 | refactor: call NascentGeneration::insert from ::insert_iter | Lars Wirzenius | 1 | -4/+1 | |
This is a step towards getting rid of insert_iter entirely, which would make it easier to make `obnam backup` use async. I originally split insert_iter so I could use a single transaction for inserting many rows, but it seems to not be needed for speed after all. I've benchmarked backing up a large file with and without this change, and there's no real difference. I've not benchmarked with a large number of files. Even if there's a performance hit from using multiple transactions, my hope is that by being able to use more CPUs/threads for backing up will outweigh that by far. Sponsored-by: author | |||||
2021-08-09 | Merge branch 'fix-macos' into 'main' | Lars Wirzenius | 2 | -2/+7 | |
Fix compilation on MacOS See merge request obnam/obnam!173 | |||||
2021-08-09 | Fix compilation on MacOS | Ossi Herrala | 2 | -2/+7 | |
For chmod() we need to cast mode parameter from u32 to u16 because MacOS has 16 bit mode_t while Linux is using 32 bits. | |||||
2021-08-04 | Merge branch 'bugfix/overlapping-progress-bars' into 'main' | Lars Wirzenius | 1 | -8/+17 | |
fix: do not overlap "download" and "incremental" progress bars See merge request obnam/obnam!172 | |||||
2021-08-03 | fix: do not overlap "download" and "incremental" progress bars | Alexander Batischev | 1 | -8/+17 | |
The problem is the same as #101, except this time it affected a different set of progress bars. It was introduced in e6147a3b7b58b151fb7ad9b1f748e0a666f271de. This commit postpones the creation of "incremental" progress bar until after we've fetched the previous generation. This avoids showing both progress bars at once. | |||||
2021-08-02 | Merge branch 'feature/117-obnam_server_log' into 'main' | Lars Wirzenius | 4 | -4/+63 | |
feat: configure log verbosity with OBNAM_SERVER_LOG envvar Closes #117 See merge request obnam/obnam!170 | |||||
2021-08-02 | Merge branch 'resolve' into 'main' | Lars Wirzenius | 12 | -26/+92 | |
add "obnam resolve" Closes #118 and #135 See merge request obnam/obnam!171 | |||||
2021-08-01 | refactor: use a struct for GenId | Lars Wirzenius | 5 | -13/+36 | |
This means a ChunkId can't be used instead. Sponsored-by: author | |||||
2021-08-01 | refactor: add a type alias for generation ids | Lars Wirzenius | 8 | -19/+23 | |
This will make it harder to accidentally use a string. Can still be confused with a chunk id. Sponsored-by: author | |||||
2021-08-01 | feat: add command to resolve a generation ref into a chunk id | Lars Wirzenius | 4 | -0/+39 | |
Sponsored-by: author | |||||
2021-07-31 | feat: configure log verbosity with OBNAM_SERVER_LOG envvar | Alexander Batischev | 4 | -4/+63 | |
Fixes #117. | |||||
2021-07-31 | Merge branch 'cleanups' into 'main' | Lars Wirzenius | 9 | -19/+19 | |
cleanup: fix things rustc/clipppy now complain about See merge request obnam/obnam!169 | |||||
2021-07-30 | cleanup: fix things rustc/clipppy now complain about | Lars Wirzenius | 9 | -19/+19 | |
Mostly https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow. Sponsored-by: author | |||||
2021-07-30 | Merge branch 'feature/112-cachedir-protection' into 'main' | Lars Wirzenius | 6 | -58/+259 | |
Backup: exit non-zero if new CACHEDIR.TAGs are found (unless `exclude_cache_tag_directories` is disabled) Closes #112 See merge request obnam/obnam!168 | |||||
2021-07-28 | Add subplot to verify new mitigation | Alexander Batischev | 1 | -5/+50 | |
2021-07-28 | Backup: exit non-zero if new tags are found | Alexander Batischev | 2 | -2/+11 | |
2021-07-28 | Store backup_roots() outcome in a struct | Alexander Batischev | 2 | -12/+30 | |
2021-07-28 | After the backup, print out a list of new CACHEDIR.TAGs | Alexander Batischev | 2 | -7/+26 | |
2021-07-28 | FsIter: annotate entries belonging to CACHEDIR.TAGs | Alexander Batischev | 2 | -23/+31 | |
2021-07-28 | Mark CACHEDIR.TAGs in the database | Alexander Batischev | 2 | -24/+126 | |
In the following commits, we'll use this to check if a tag existed before. | |||||
2021-07-26 | Merge branch 'async-get-chunk' into 'main' | Lars Wirzenius | 7 | -34/+226 | |
use async for read-only access to chunk server See merge request obnam/obnam!167 | |||||
2021-07-23 | refactor: async for "obnam show-generation" | Lars Wirzenius | 1 | -5/+10 | |
Sponsored-by: author | |||||
2021-07-23 | refactor: use async for "obnam restore" | Lars Wirzenius | 1 | -18/+27 | |
Sponsored-by: author | |||||
2021-07-23 | refactor: use async for "obnam list-files" | Lars Wirzenius | 2 | -4/+39 | |
Sponsored-by: author | |||||
2021-07-23 | refactor: use async for "obnam list" | Lars Wirzenius | 2 | -3/+26 | |
Sponsored-by: author | |||||
2021-07-23 | refactor: use async for "obnam get-chunk" | Lars Wirzenius | 2 | -4/+123 | |
Sponsored-by: author | |||||
2021-07-22 | chore: add rustfmt.toml | Lars Wirzenius | 1 | -0/+1 | |
For some reason my new Emacs config that uses rust-analyzer requires edition to be set in rustfmt.toml, not just Cargo.toml. Sponsored-by: author | |||||
2021-07-22 | Merge branch 'feature/114-replace-string-with-chunkid' into 'main' | Lars Wirzenius | 2 | -4/+6 | |
In errors, store chunk ids as `ChunkId`, not `String` Closes #114 See merge request obnam/obnam!165 | |||||
2021-07-22 | Merge branch 'feature/115-no-custom-results' into 'main' | Lars Wirzenius | 12 | -133/+136 | |
Replace custom result types with standard `Result` Closes #115 See merge request obnam/obnam!166 | |||||
2021-07-21 | Replace StoreResult with plain Result | Alexander Batischev | 1 | -6/+3 | |
2021-07-21 | Replace IndexedResult with plain Result | Alexander Batischev | 1 | -11/+8 | |
2021-07-21 | Replace IndexResult with plain Result | Alexander Batischev | 1 | -19/+16 | |
2021-07-21 | Replace LocalGenerationResult with plain Result | Alexander Batischev | 1 | -24/+32 | |
I do not plan to simplify the `T` in the return type of `get_file_and_fileno` because that function is only ever called from inside the module; it doesn't seem worthwhile to introduce a new type there. | |||||
2021-07-21 | Replace NascentResult with plain Result | Alexander Batischev | 1 | -5/+3 | |
2021-07-21 | Replace FsIterResult with plain Result | Alexander Batischev | 2 | -8/+6 | |
2021-07-21 | Replace FsEntryResult with plain Result | Alexander Batischev | 1 | -4/+2 | |
2021-07-21 | Replace ClientConfigResult with plain Result | Alexander Batischev | 1 | -3/+1 | |
2021-07-21 | Replace RestoreResult with plain Result | Alexander Batischev | 1 | -11/+9 | |
2021-07-21 | Replace ClientResult with plain Result | Alexander Batischev | 1 | -20/+22 | |
2021-07-21 | Replace ChunkerResult with plain Result | Alexander Batischev | 1 | -5/+3 | |
2021-07-21 | Replace GenerationChunkResult with plain Result | Alexander Batischev | 1 | -5/+2 | |
2021-07-21 | backup_run: replace tuple with a struct | Alexander Batischev | 2 | -9/+25 | |
2021-07-21 | Replace BackupResult with plain Result | Alexander Batischev | 2 | -7/+8 | |
2021-07-21 | In errors, store chunk ids as `ChunkId`, not `String` | Alexander Batischev | 2 | -4/+6 | |
Fixes #114. | |||||
2021-07-19 | Merge branch 'pywrite' into 'main' | Lars Wirzenius | 2 | -4/+8 | |
test: use better way to write files in Python See merge request obnam/obnam!164 | |||||
2021-07-19 | test: use better way to write files in Python | Lars Wirzenius | 2 | -4/+8 | |
"open(...).write(...)" does not necessarily close the file, and thus flush buffered writes to disk. "with open(...)" does. Sponsored-by: author |