Michael Eischer
981adc47ac
snapshots: improve wording for timezone information ( #21913 )
2026-06-24 19:49:07 +02:00
Michael Eischer
7134577c56
use constants from cobra for shell completion helper names ( #21905 )
2026-06-22 22:58:26 +02:00
Ricardo Sawir
55e335ec6c
fuse: reset treeCache on snapshot reload to fix stale latest symlink ( #21873 )
...
The treeCache in SnapshotsDir was never cleared when snapshots were
reloaded. This caused the "latest" symlink to keep pointing to the
previous snapshot even after new snapshots were added.
Add a generation counter to SnapshotsDirStructure that is incremented
whenever the directory structure is rebuilt (in makeDirs). The
treeCache checks this generation on each lookup and resets itself
when the generation changes, ensuring cached nodes (including symlinks)
are refreshed after a snapshot reload.
2026-06-22 18:31:51 +00:00
Winfried Plappert
d30d6b6281
backup - show excluded files and directories in verbose mode - text/JSON ( #21887 )
2026-06-21 16:11:42 +00:00
Eyüp Can Akman
8d7679c831
backup: skip source paths that cannot be accessed ( #21852 )
2026-06-21 17:16:16 +02:00
Michael Eischer
d9dd1b7534
archiver: ignore duplicate but excluded directory entry ( #21900 )
2026-06-21 15:49:08 +02:00
Michael Eischer
1151d70655
Merge pull request #21875 from MichaelEischer/fix-snapshots-latest-group-by
...
Fix default grouping of `snapshots --latest <n>`
2026-06-21 15:46:49 +02:00
Michael Eischer
369da8a770
snapshots: revert default --lastest behavior to pre-0.19.0
...
the changed behavior now only applies when using `--group-by`.
2026-06-21 15:28:22 +02:00
Michael Eischer
9f84c80056
snapshots: cleanup handling of deprecated --last option
2026-06-21 15:28:22 +02:00
Michael Eischer
6070462465
backup: move options finalization to BackupOptions.Finalize
2026-06-21 15:28:22 +02:00
Michael Eischer
1029fe6dd0
list packs snapshot: include actual error in error message ( #21903 )
2026-06-21 15:27:19 +02:00
Michael Eischer
28521d27c1
Merge pull request #21897 from MichaelEischer/sftp-fix-chmod
...
backend/sftp: fix removing files on windows sftp
2026-06-20 19:29:49 +02:00
Michael Eischer
af64caf5d9
Merge pull request #21885 from MichaelEischer/separate-backend-restic-filetype
...
Separate backend.FileType from restic.FileType
2026-06-20 19:24:51 +02:00
Michael Eischer
9ab5fc59c2
restic: split FileType for backend.FileType
...
Equality of constants is enforced via internal/repository/filetype.go
using compile time checks.
2026-06-20 19:15:40 +02:00
Michael Eischer
6c509f7ac1
Correctly pair backend/restic.FileType with APIs
...
Use backend.FileType to interact with the backend. And restic.FileType
to interact with the repository.
2026-06-20 19:15:40 +02:00
Michael Eischer
ea699bb0ba
backend/rest: fix flaky test cleanup ( #21901 )
2026-06-20 19:14:54 +02:00
Michael Eischer
532f36a5a8
archiver: pass ItemAction to progress reporter instead of data.Node ( #21886 )
2026-06-20 19:06:45 +02:00
Michael Eischer
57ac5d107c
Merge pull request #21882 from MichaelEischer/untangle-imports
...
Untangle imports of repository, restorer, fs
2026-06-20 18:24:50 +02:00
Michael Eischer
2f31cde517
internal/restorer: invert dependency direction to ui/restorer
...
The restorer imported ui/restorer which leaks ui logic into the restorer
core. Swap the direction by letting the restorer use a ProgressReporter
interface + associated constants.
2026-06-20 17:49:20 +02:00
Michael Eischer
5cd39d01c1
internal/data: extract HardlinkIndex from restorer
...
The HardlinkIndex is also used by `cmd_stats`, thus place it in a shared
package.
2026-06-20 17:49:20 +02:00
Michael Eischer
61708772a2
mount: use existing HasPathPrefix helper
...
replaces the custom isInside helper to check path nesting
2026-06-20 17:49:20 +02:00
Michael Eischer
d9d54a505e
restic: move Printer interface from internal/ui/progress
...
Move Printer and NewNoopPrinter to internal/restic so repository does
not have to import the ui packages.
2026-06-20 17:49:20 +02:00
Michael Eischer
0f4236cb39
repository: return unlock func from LockRepo
...
Drop the Unlocker interface and return the unlock callback directly
from LockRepo, simplifying callers that only need to defer unlock().
2026-06-20 17:48:35 +02:00
Michael Eischer
4d1b9cef63
internal/fileio: extract low-level file I/O from internal/fs
...
Move TempFile and PreallocateFile into internal/fileio. internal/fs
primarily focuses on converting between data.Node and the actual
filesystem state. Extract the two methods to not pull in unnecessary
dependencies.
2026-06-20 17:48:35 +02:00
Winfried Plappert
284daaf0b4
restic list pack snapshotID - create lists of packfiles for a given snapshot as text ( #5396 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-06-20 15:46:44 +00:00
Michael Eischer
980f194360
fs: print missing error if xattr cannot be read ( #21896 )
2026-06-20 17:11:16 +02:00
Michael Eischer
d795988fa8
Misc error handling fixes ( #21884 )
...
* forget: fix error handling if snapshot key cannot be marshaled
* backend/b2: correctly close file if too short
* backend/rest: correctly close body on out of bounds read
* backend/sftp: fix file handle leak if chmod for a file fails
* backend/util: fix errorhandling in DefaultDelete test helper
* prune/repair pack: document ignored errors
* selfupdate: improve error handling
* repository: show correct error if zstd decoder cannot be initialized
2026-06-20 17:09:02 +02:00
Michael Eischer
203e595ccb
backend/sftp: fix removing files on windows sftp
2026-06-19 23:23:01 +02:00
Michael Eischer
6c67a095dc
backend/sftp: fix error reporting of Save method
2026-06-19 23:09:59 +02:00
Michael Eischer
1a9decf03e
repository: show correct error if zstd decoder cannot be initialized
2026-06-14 16:52:40 +02:00
Michael Eischer
718f09e02d
selfupdate: improve error handling
2026-06-14 16:51:56 +02:00
Michael Eischer
82708ff7f7
prune/repair pack: document ignored errors
2026-06-14 16:51:56 +02:00
Michael Eischer
18c47c5bf9
backend/util: fix errorhandling in DefaultDelete test helper
2026-06-14 16:40:09 +02:00
Michael Eischer
faea0d677a
backend/sftp: fix file handle leak if chmod for a file fails
2026-06-14 16:39:42 +02:00
Michael Eischer
ae8fdb08fa
backend/rest: correctly close body on out of bounds read
2026-06-14 16:38:54 +02:00
Michael Eischer
5c8c048c1a
backend/b2: correctly close file if too short
2026-06-14 16:38:21 +02:00
Michael Eischer
6b88b072e0
forget: fix error handling if snapshot key cannot be marshaled
2026-06-14 16:37:58 +02:00
Michael Eischer
7d36449ea8
repository: change LoadBlob, LookupBlob and LookupBlobSize to BlobHandles ( #21857 )
2026-06-14 15:30:00 +02:00
Michael Eischer
71f38d266c
ensure reliable cleanup of test repository ( #21880 )
2026-06-14 14:25:00 +02:00
Michael Eischer
0536e15bbf
snapshots: show location name instead of current timezone ( #21877 )
2026-06-14 14:02:20 +02:00
Michael Eischer
650f658244
repository/index: ensure progress bar cancelation on early index load failure ( #21881 )
2026-06-14 13:56:24 +02:00
Michael Eischer
ae96b2a0f8
mount: fix crash in mountpoint validation ( #21879 )
2026-06-14 13:55:26 +02:00
Michael Eischer
ce9b6ceea1
Merge pull request #21862 from MichaelEischer/lock-cleanup
...
Move Lock type to repository package and clean it up a bit
2026-06-13 21:46:26 +02:00
Michael Eischer
406dec29a7
repository: remove redundant mutex in checkForOtherLocks
...
forAllLocks already serializes the callback calls. Still has to create a
copy of checkedIDs to prevent a data race between forAllLocks and the
callback.
2026-06-13 21:37:24 +02:00
Michael Eischer
6fe10a72eb
repository: drop mutex from lockHandle
2026-06-13 21:37:06 +02:00
Michael Eischer
1a6d43286a
repository: comment cleanups
2026-06-13 21:36:36 +02:00
Michael Eischer
151903d4d4
repository: fix goroutine leak due to delayedCancelContext in tests
2026-06-13 21:35:51 +02:00
Michael Eischer
b86568b790
repository: merge Unlocker and lockContext
2026-06-13 21:35:41 +02:00
Michael Eischer
a5f3256626
repository: partially deduplicate refresh and refreshStaleLock
2026-06-13 21:33:58 +02:00
Michael Eischer
5989671f87
repository: deduplicate error handling in checkForOtherLocks
2026-06-13 21:33:43 +02:00