Michael Eischer
5989671f87
repository: deduplicate error handling in checkForOtherLocks
2026-06-13 21:33:43 +02:00
Michael Eischer
b7f3a1367a
repository: add SIGHUP handler only on Unix systems
2026-06-13 21:33:27 +02:00
Michael Eischer
4838b0ae3e
repository: cleanup naming of lockCtx
2026-06-13 21:33:19 +02:00
Michael Eischer
c87da70af9
repository: separate Lock in-repository from lock handle
...
Reduce Lock to a pure data transfer object and move the logic to
lockHandle.
2026-06-13 21:33:03 +02:00
Michael Eischer
81b6414c55
repository: hide Lock methods
...
Unexport lock file methods except String. Lock file operations are only
used within the repository package.
2026-06-13 21:32:13 +02:00
Michael Eischer
637c1cfb66
repository: unexport internal lock file helpers
...
Unexport UnlockCancelDelay, IsInvalidLock, ErrRemovedLock, NewLock,
StaleLockTimeout and ForAllLocks
2026-06-13 21:31:27 +02:00
Michael Eischer
b892b1a150
repository: move lock file handling from restic package
2026-06-13 21:31:23 +02:00
Michael Eischer
7015da44ad
restic: extract UidGidInt into separate files
...
Extract UidGidInt to simplify moving the locking code to the repository.
2026-06-13 21:24:38 +02:00
Michael Eischer
3ee465d363
repository: rename Lock function to LockRepo
...
Rename `Lock()` to `LockRepo()` to make room for the `Lock` struct.
2026-06-13 21:24:37 +02:00
Michael Eischer
8e11f5747d
restic: introduce Counter interface to decouple from ui/progress ( #21861 )
...
decouple restic and ui/progress packages
2026-06-13 21:08:18 +02:00
Michael Eischer
22a304af7e
Merge pull request #21849 from restic/internal-crypto-package
...
repository: move crypto package to internal/repository/crypto
2026-06-13 20:33:24 +02:00
Michael Eischer
c8a0bc2c5e
repository: move crypto package to internal/repository/crypto
2026-06-13 20:05:06 +02:00
Michael Eischer
35e60dc2c7
restic: remove Key() from repository interface
...
All callers use the concrete Repository type
2026-06-13 20:05:06 +02:00
Michael Eischer
8e93172bf8
cache: remove dependency on crypto package for truncation checks
...
The cache backend + repository can by now properly recover from damaged
files stored in the cache. Thus, remove the legacy sanity check.
2026-06-13 20:05:05 +02:00
Michael Eischer
b94ef4831d
repository: add PackBlob.UncompressedCiphertextLength()
2026-06-13 20:05:05 +02:00
Michael Eischer
952b310d62
Merge pull request #21851 from MichaelEischer/misc-cleanups2
...
Unexport lots of methods and structs
2026-06-13 20:03:18 +02:00
Michael Eischer
3eb5f83db3
fs: more vss related unexports
2026-06-13 19:54:32 +02:00
Michael Eischer
d3ef21f870
archiver: unexport BackupTarget type
2026-06-13 19:54:12 +02:00
Michael Eischer
31df7508c4
archiver: unexport Options.ApplyDefaults
2026-06-13 19:53:51 +02:00
Michael Eischer
87c9ed4573
archiver: unexport toNoder
2026-06-13 19:53:31 +02:00
Michael Eischer
eedba12968
bloblru: unexport add and get
2026-06-13 19:53:13 +02:00
Michael Eischer
264cfbcff2
data: remove unused Nodes type
2026-06-13 19:52:49 +02:00
Michael Eischer
7f3c9eb749
data: unexport fixTime
2026-06-13 19:52:27 +02:00
Michael Eischer
347cac780d
data: unexport osType
2026-06-13 19:52:07 +02:00
Michael Eischer
23d6946fc9
fs: unexport CommandReader type
2026-06-13 19:51:49 +02:00
Michael Eischer
2db654533b
fs: unexport Reader type
2026-06-13 19:51:33 +02:00
Michael Eischer
f5843a7d97
fs: unexport more vss types
2026-06-13 19:51:14 +02:00
Michael Eischer
e1e7fc8fb2
fs: unexport Local and expose via NewLocal
2026-06-13 19:50:49 +02:00
Michael Eischer
1acc19dac5
repository: unexport SearchKey
2026-06-13 19:49:03 +02:00
Michael Eischer
79e92b3bc6
repository: change Unlocker to interface
2026-06-13 19:48:47 +02:00
Michael Eischer
766d9f9f1e
repository: unexport openKey
2026-06-13 19:48:31 +02:00
Michael Eischer
131abbb4f0
repository: unexport WarmupJob
2026-06-13 19:48:15 +02:00
Michael Eischer
d62e42e620
repository: unexport NewChecker
2026-06-13 19:48:02 +02:00
Michael Eischer
35caceace4
restore: unexport HardlinkIndex.Index and hardlinkKey
2026-06-13 19:12:05 +02:00
Michael Eischer
f2ff05f840
Merge pull request #21848 from restic/shrink-repository-interface
...
move restic.{Blob,Blobs,PackedBlob} types to `./internal/repository/pack` package
2026-06-13 19:11:33 +02:00
Michael Eischer
c062a78dcd
repository: move Blob, Blobs and PackedBlob to pack package
...
This removes them from the public interface. The latter now only
provides the PackBlob interface, without being bound to the type used
internally by the pack package.
2026-06-13 18:58:37 +02:00
Michael Eischer
35af104749
restic: change LookupBlob to return []PackBlob
2026-06-13 17:54:58 +02:00
Michael Eischer
ccb5ae1592
restic: change ListBlobs to return PackBlob
...
PackBlob is a limited interface that only exposes a part of the
information provided by PackedBlob. Most of the changes are switches
from direct value lookups to the interface methods, with a few larger
changes to let the tests still work.
2026-06-13 17:54:38 +02:00
Michael Eischer
97f1e99ed9
restic: add PackBlob interface and implement it on PackedBlob
...
The PackBlob interface will allow hiding details from the public
interface, in particular, the offset of a blob within a pack file.
2026-06-13 17:54:18 +02:00
Michael Eischer
c060c317d3
repository: unexport listPacksFromIndex
...
`ListPacksFromIndex` only has repository-internal callers left (besides
test code).
2026-06-13 17:54:03 +02:00
Michael Eischer
a9e0b46358
restic: list pack header via ListPackHandles
...
Replace ListPack with ListPackHandles so callers only receive blob
handles from pack headers, not layout fields.
2026-06-13 17:50:21 +02:00
Michael Eischer
8169814b38
restic: switch LoadBlobsFromPack to BlobHandles
...
LoadBlobsFromPack now resolves the handles to Blobs. Repository internal
code can still use the Blob-based method.
The loader used in the filerestorer test now has to implement sorting
the blobs by offset itself as it no longer has access to the repository-internal
dataypes.
2026-06-13 17:50:21 +02:00
Michael Eischer
f186e1e458
repository: require *Repository for CopyBlobs
...
Prepare `CopyBlobs` to allow access to unexported methods of the
Repository struct. This requires changing the test to inject the number
of backend connections via a wrapped backend instead of a wrapped
repository.
2026-06-13 17:50:21 +02:00
Winfried Plappert
0938f52f38
tests - more test cases for internal/repository/check.go ( #21830 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-06-13 15:35:48 +00:00
Michael Eischer
9f9a3472aa
Merge pull request #21850 from MichaelEischer/misc-cleanups
...
Cleanup `ui/*` package and minor cleanups in `test` and `walker`
2026-06-13 17:12:14 +02:00
Michael Eischer
14f86a462a
stats: refactor ui progress printer into ui/stats
2026-06-13 17:00:11 +02:00
Michael Eischer
825d67ba4b
backup,restore: move CalculateProgressInterval call to their ui package
2026-06-13 16:53:57 +02:00
Michael Eischer
3b8b77e54d
test: remove unused exports
2026-06-13 16:53:57 +02:00
Michael Eischer
0bbfb072af
ui/progress: unexport NoopPrinter and add New* function
2026-06-13 16:53:57 +02:00
Michael Eischer
e8ed2434cd
ui: move NewProgressPrinter to ui/progress.NewTerminalPrinter
2026-06-13 16:53:54 +02:00