Michael Eischer
e94ec65efb
mount: unify mountpoint validation error messages
2026-06-12 22:30:53 +02:00
Michael Eischer
49f9e67520
mount: factor out mountpoint validation into helper
2026-06-12 22:29:45 +02:00
Michael Eischer
3a4b0e3b8c
Merge pull request #5348 from zmanda/fix-gh-5234-prevent-mount-command-over-repository
...
mount: prevent mounting over repository
2026-06-12 22:27:50 +02:00
Michael Eischer
8c6ee42d17
debug: move DumpPacks into repository package
...
Processing pack file internals belongs into the repository package.
2026-06-10 22:20:28 +02:00
Michael Eischer
ccddc1914d
repository: rename PackError to ErrPackMetadata
2026-06-10 22:20:28 +02:00
Michael Eischer
17ff3aa5f9
Merge pull request #21841 from MichaelEischer/isolate-repository
...
prevent imports of repository internals
2026-06-10 22:19:24 +02:00
Michael Eischer
0ddd98e03b
stats: stop progress bar before printing stats ( #21843 )
2026-06-02 22:37:46 +02:00
Michael Eischer
7d25ca9d67
repository: omit unused headerSize from ListPack()
2026-05-31 22:53:00 +02:00
Michael Eischer
cc546b71e3
debug: move code requring internal access to repository package
2026-05-31 22:48:38 +02:00
Michael Eischer
3cb49556f5
repair index: replace full index handling integration test with unit test
2026-05-31 22:39:16 +02:00
Michael Eischer
620f5986f8
list index: use helper in repository package
2026-05-31 22:14:01 +02:00
Michael Eischer
78b3411076
check: consider split pack index entries as repository damage
2026-05-31 15:58:33 +02:00
Michael Eischer
f86307d223
Merge pull request #21827 from MichaelEischer/fix-pack-repair
...
repair packs: correctly handle packs with missing/incomplete index entry
2026-05-31 15:57:50 +02:00
Yaroslav Halchenko
451cc6c048
Add codespell support with configuration and fixes ( #21807 )
...
Co-authored-by: Claude Code 2.1.142 / Claude Opus 4.7 <noreply@anthropic.com >
2026-05-30 20:15:13 +00:00
Michael Eischer
c669cc7a7d
introduce restic.Blobs type with sort method
2026-05-30 10:10:39 +02:00
Michael Eischer
f000da3b35
Return helpful error if subfolder syntax fails on Windows ( #21813 )
2026-05-20 22:55:01 +02:00
Michael Eischer
850ab61cdf
key: include full command name in subcommand descriptions
2026-05-20 22:46:11 +02:00
Michael Eischer
df03e8a0ec
self update: remove not possible exit codes
2026-05-20 22:46:11 +02:00
Michael Eischer
9299c45818
fix typos in cmd descriptions
2026-05-20 22:46:11 +02:00
Michael Eischer
2b72f3eb42
find: fix placement of exit status section
2026-05-20 22:46:11 +02:00
Michael Eischer
496ea804a6
check/dump/mount/repair/rewrite: update command description
2026-05-20 22:45:52 +02:00
Michael Eischer
a639b8d711
Merge pull request #21811 from MichaelEischer/misc-fixes
...
Address various code smells, outdated comments and nits
2026-05-20 22:38:36 +02:00
Winfried Plappert
990329013e
prune more aggresively ( #21803 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-05-16 15:49:08 +00:00
Michael Eischer
10645ccd2a
fix comment and variable name typos
2026-05-16 17:05:33 +02:00
Michael Eischer
febdb8b564
find: use proper sentinel error to terminate search
2026-05-16 15:35:48 +02:00
Michael Eischer
91c2aefbe1
Document openWithReadLock usage of read-only backend mode
2026-05-16 15:35:48 +02:00
Srigovind Nayak
a0d7745e8b
mount: refuse mountpoints that overlap the local repository
...
Mounting a local repository onto its own directory caused the FUSE
server to read its own backend files through the mount it had just
created, deadlocking the kernel. `umount` then reported "Device or
resource busy" and recovery required a reboot that took several
minutes. The same shape occurs when the mountpoint is nested inside
the repository directory, or when the repository directory is nested
inside the mountpoint.
The mount command now resolves both paths via filepath.Abs and
filepath.EvalSymlinks and refuses with a fatal error if either path
equals or contains the other. The check runs before the repository
lock is acquired so an overlap fails fast. Only the local backend is
checked; remote backends cannot shadow the mountpoint directory.
2026-05-16 18:03:49 +05:30
Paulo Saraiva
6de6cc6c75
Show progress for restic stats ( #5705 )
...
Co-authored-by: Paulo Saraiva <paulo.saraiva@cern.ch >
2026-05-15 20:31:20 +02:00
Michael Eischer
8abbc3703d
doc: update embedded help output and misc typos ( #21804 )
2026-05-15 20:21:04 +02:00
Michael Eischer
f3854cf299
Merge pull request #21796 from restic/go-1.25
...
Bump minimum go version to 1.25 & update dependencies
2026-05-12 18:56:09 +02:00
Michael Eischer
7ee77133fc
Merge pull request #21781 from mattxtaz2/master
2026-05-10 22:20:24 +02:00
Michael Eischer
f8afd4ed04
key passwd: test that user and host flags are handled
2026-05-10 22:13:16 +02:00
Michael Eischer
4c94678d7d
fix linter and compilation issues
2026-05-10 17:53:29 +02:00
Michael Eischer
39084a912e
Merge pull request #5700 from MichaelEischer/err-invalid-env
2026-05-10 00:18:40 +02:00
Michael Eischer
b24d210b45
mount: load mount root before reporting readiness
2026-05-07 22:42:03 +02:00
Matt
0f8c28aee4
Add opts.Username, opts.Hostname to AddKey in the "key passwd" command
...
so that --user and --host flags work
2026-04-16 19:15:44 +01:00
Winfried Plappert
54347eb6fa
Enhancement: restic find - more integration tests ( #5672 )
2026-02-26 21:52:26 +01:00
Winfried Plappert
f9b63050eb
Bugfix: `restic find --pack <tree-pack>` did not produce output for tree packs ( #5664 )
2026-02-25 21:24:31 +01:00
Johannes Truschnigg
a8f0ad5cc4
mount: check for more requisite mountpoint conditions ( #5718 )
...
* mount: check for more requisite mountpoint conditions
In order to be able to mount a repository over a mountpoint target
directory via FUSE, that target directory needs to be both writeable and
executable for the UID performing the mount.
Without this patch, `restic mount` only checks for the target pathname's
existence, which can lead to a lot of data transfer and/or computation
for large repos to be performed before eventually croaking with a fatal
"fusermount: failed to chdir to mountpoint: Permission denied" (or
similar) error.
FUSE does allow for mounting over a target path that refers to a regular
(writeable) file, but the result is not accessible via chdir(), so we
prevent that as well, and accept only directory inodes as the intended
target mountpoint path.
* Don't use snake_case identifiers
* Add changelog entry
* tweak changelog summary
---------
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-02-19 17:11:49 +00:00
Winfried Plappert
8b567a9270
Bugfix restic find: missing check for mtime --oldest/--newest ( #5310 )
2026-02-18 21:14:35 +00:00
Andreas Scherbaum
66d915ef79
Add space in error message ( #5704 )
2026-02-18 20:27:02 +00:00
Michael Eischer
6566f786e9
stats: also print snapshot size statistics in debug mode ( #5712 )
2026-02-18 21:21:40 +01:00
Michael Eischer
5be6d9c73f
fail of RESTIC_READ_CONCURRENCY or RESTIC_COMPRESSION are invalid
2026-02-01 15:57:07 +01:00
gunar
7101f11133
Fail fast for invalid RESTIC_PACK_SIZE env values ( #5592 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-02-01 15:45:31 +01:00
Michael Eischer
5e43a44b15
Merge pull request #5680 from castilma/unlock-doc
2026-02-01 12:13:52 +01:00
Michael Eischer
07d380d54b
Merge pull request #5191 from wplapper/cmd_rewrite_include
2026-02-01 11:53:05 +01:00
Winfried Plappert
bcd4168428
Enhancement: calls to SnapshotFilter.FindLatest() can be simplified ( #5688 )
2026-01-31 23:04:01 +01:00
Michael Eischer
901235efc9
rewrite: skip snapshot parts not matchable by include patterns
2026-01-31 22:42:02 +01:00
Michael Eischer
0d71f70a22
minor cleanups and typos
2026-01-31 22:01:23 +01:00
Winfried Plappert
b6af01bb28
restic rewrite integration test
...
convert exclusive lock on repository to 'no-lock'
2026-01-31 19:43:03 +00:00