Michael Eischer
60d80a6127
Fix linter warnings
2025-09-21 22:24:15 +02:00
Michael Eischer
65b21e3348
ui: collect Quote and Truncate helpers
...
Collect ui formatting helpers in the ui package
2025-09-21 16:44:23 +02:00
Michael Eischer
86ddee8518
ui: document Message / Printer / Terminal interfaces
2025-09-21 16:32:00 +02:00
Michael Eischer
94b19d64be
termstatus: allow retrieving the underlying writer
...
This is intended for special cases where it must be guaranteed that the
output on stdout exactly matches what was written to the io.Writer.
2025-09-15 22:17:26 +02:00
Michael Eischer
03600ca509
termstatus: don't buffer stdout
...
There's not much use in doing so as nearly every write call was paired
with a flush call. Thus, just use an unbuffered writer.
2025-09-15 21:22:07 +02:00
Michael Eischer
91ecac8003
termstatus: fix crash when printing empty string
2025-09-15 20:25:17 +02:00
Michael Eischer
32b7168a9e
centralize index progress bar for termstatus
2025-09-15 20:25:17 +02:00
Michael Eischer
81fe559222
Merge pull request #5495 from MichaelEischer/fix-check-retries
...
check: fix error reporting on download retry
2025-09-15 19:31:44 +02:00
Michael Eischer
d757e39992
make linter happy
2025-09-13 22:22:53 +02:00
Michael Eischer
de29d74707
check: fix error reporting on download retry
2025-09-08 11:45:28 +02:00
Michael Eischer
b71b77fa77
terminal: unexport tcgetpgrp, tcsetpgrp and getpgrp
2025-09-08 11:04:38 +02:00
Michael Eischer
d10bd1d321
terminal: move reading password from terminal here
2025-09-08 11:03:56 +02:00
Michael Eischer
43b5166de8
terminal: cleanup determining width
2025-09-08 11:03:42 +02:00
Michael Eischer
0b0dd07f15
consolidate checks whether stdin/stdout is terminal
2025-09-08 11:03:26 +02:00
Michael Eischer
93ccc548c8
termstatus: move cursor handling to terminal package
2025-09-08 11:03:17 +02:00
Michael Eischer
0ab38faa2e
termstatus: track current status also in background
...
Without this, restic could temporarily print an outdated status when
moving back into the foreground.
2025-09-08 10:50:53 +02:00
Michael Eischer
48cbbf9651
ui/termstatus: extract background handling code
2025-09-08 10:50:09 +02:00
Michael Eischer
6ff7cd9050
backend/util: extract background handling code
2025-09-08 10:42:35 +02:00
greatroar
1ed93bd54d
backend,termstatus: Unify foreground/background detection
...
PR #5358 reintroduced a version of the TIOCGPGRP ioctl call that works
on all Unix platforms except Linux, due to a bug/inconsistency in
x/sys/unix. This commit fixes that by introducing termstatus.Tcgetpgrp.
It also introduces termstatus.Getpgrp and termstatus.Tcsetpgrp to deal
with the different signature of unix.Getpgrp in Solaris vs. all other
Unix platforms and an int-overflowing constant on AIX, so that some
AIX/Solaris-specific code can be removed elsewhere and
foreground/background detection is done the same everywhere except on
Windows.
2025-09-08 09:33:44 +02:00
Michael Eischer
914bd699be
backend: always start backend process in separate process group
...
The process group is necessary to properly handle ctrl-c.
2025-09-06 19:51:10 +02:00
Michael Eischer
4c19d6410f
backend: only move child process to foreground if already in foreground
...
The rclone and sftp backends require starting a child process. The are
first moved into the foreground and back into the background after the
initial startup is done.
However, this behavior is also active if restic itself is started in the
background. In this case, restic changing the foreground process may
confuse the shell and in case of bash causes it to exit. Thus, disable
modification of the controlling process group of the tty if restic is
run in the background.
2025-09-06 19:51:10 +02:00
Michael Eischer
2ad703bfd8
Merge pull request #5486 from greatroar/duration-panic
...
Avoid panic in duration parsing
2025-09-06 18:32:36 +02:00
greatroar
0864d04c5c
internal/restic: Fix panic in ParseDuration
...
Fixes #5485 . Includes test case by @MichaelEischer.
2025-09-06 10:30:34 +02:00
gregoster
839c38b4c4
EOPNOTSUPP can be returned if the filesystem does not support xattrs ( #5344 )
...
---------
Co-authored-by: Greg Oster <oster@netbsd.org >
2025-09-05 19:09:27 +00:00
Michael Eischer
01bc60e96f
backup: fix test on windows
2025-09-05 19:35:25 +02:00
Michael Eischer
350f6452e7
backup: test that parent directory errors can be correctly filtered
2025-09-05 19:28:18 +02:00
Michael Eischer
484cdf12e5
backup: test that missing parent directory is correctly handled
2025-09-05 19:28:18 +02:00
Michael Eischer
c8bb7bd312
backup: do not fail backup is some parent folder is inaccessible
...
Handle errors for parent directories of backup directories in the same
way as all other file access errors during a backup.
2025-09-05 19:28:18 +02:00
Michael Eischer
a8ce2e45cc
backup: do not crash if nodeFromFileInfo fails
...
this could crash in two cases:
- if a directory is deleted between restic stating it and trying to list
its directory content.
- when restic tries to list the parent directory of a backup target, but
the parent directory has been deleted.
return an error in this case instead.
2025-09-05 19:28:18 +02:00
Dominik Schulz
48e5c0984e
Mark HTTP Error 507 as permanent
...
This change classifies HTTP error 507 (Insufficient Storage) as a
permanent error that should not be retried. I keep running into
this once in a while and there is literally no point in retrying when
the server is full.
Fixes #5429
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org >
2025-09-05 19:04:16 +02:00
Michael Eischer
b71fe91643
Merge pull request #5345 from mikix/chmod-enotsup
...
backend/local: ignore chmod "not supported" errors
2025-07-21 22:28:53 +02:00
Michael Eischer
3433c5abac
Merge pull request #5408 from MichaelEischer/fix-walker-crash
...
walker: fix error handling if tree cannot be loaded
2025-07-21 21:46:59 +02:00
Michael Terry
a8535aba58
backend/local: ignore chmod "not supported" errors
2025-06-02 17:44:30 -04:00
Michael Eischer
e4a7f4aadf
Merge pull request #5356 from MichaelEischer/fix-backup-stdin-filename
...
backup: Fix `--stdin-filename` with directory
2025-06-02 20:27:26 +02:00
Michael Eischer
10cfe96cd4
walker: fix error handling if tree cannot be loaded
...
A tree that cannot be loaded is a fatal error when walking the tree.
Thus, return the error and exit the tree walk.
2025-06-02 20:04:26 +02:00
Michael Eischer
9f39e8a1d3
fs/reader: return proper error on invalid filename
2025-04-11 22:07:31 +02:00
Michael Eischer
ddd48f1e98
fs/reader: test file not exist case
2025-04-11 21:57:45 +02:00
Michael Eischer
6e91ea3397
fs/reader: use test helpers
2025-04-11 21:54:15 +02:00
Michael Eischer
e7c1e4f1ff
fs/reader: deduplicate test code
2025-04-11 21:50:47 +02:00
Michael Eischer
70e1037a49
fs/reader: fix open+stat handling
2025-04-11 21:49:25 +02:00
Michael Eischer
19f48084ea
fs/reader: use modification time for file and directories
...
This ensures that a fixed input generates a fully deterministic output
file structure.
2025-04-11 21:46:24 +02:00
Michael Eischer
3a995172b7
fs: rewrite Reader to build fs tree up front
...
This adds proper support for filenames that include directories. For
example, `/foo/bar` would result in an error when trying to open `/foo`.
The directory tree is now build upfront. This ensures let's the
directory tree construction be handled only once. All accessors then
only have to look up the constructed directory entries.
2025-04-11 21:37:40 +02:00
Srigovind Nayak
f13e9c10a4
Add support for additional compression levels fastest and better ( #5321 )
...
* repository: expose addtional compression levels
* adding better and fastest compression levels for zstd
* repository: add changelog entry for issue-4728
* chore: fix golint issues
* chore: sort compression modes in the help text
* updating review comments
2025-03-31 21:21:12 +02:00
Gilbert Gilb's
eefff0d793
docs: fix unit for S3 restore timeout
...
"d" is not a valid unit.
2025-03-27 21:20:50 +01:00
Michael Eischer
d4772aa469
readd feature flags removed too soon
2025-03-26 18:38:30 +01:00
Michael Eischer
13cb90b83a
Merge pull request #5295 from MichaelEischer/randomize-pack-order
...
Randomize blob to pack file assignment
2025-03-25 18:13:49 +01:00
Michael Eischer
9eee32131a
Merge pull request #5307 from Martin2112/dial_tls
...
Replace deprecated DialTLS with DialTLSContext.
2025-03-25 18:12:10 +01:00
Michael Eischer
0b22d8dc64
Merge pull request #5306 from MichaelEischer/sftp-better-errors
...
sftp: improve error messages
2025-03-24 18:43:47 +01:00
Michael Eischer
ccb92f5bf0
repository/packer: add unit test for Merge method
2025-03-24 17:04:02 +01:00
Martin Smith
47b048f437
Rename param as it looks like context isn't used.
2025-03-24 15:01:47 +00:00