Michael Eischer
0dcd9bee88
rewrite: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
a304826b98
repair snapshots: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
8510f09225
stats: convert to termstatus
2025-09-15 22:17:26 +02:00
Michael Eischer
e63aee2ec6
copy: convert to use termstatus
2025-09-15 22:17:26 +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
ef9930cce4
fix capturing stdout with termstatus
2025-09-15 20:25:17 +02:00
Michael Eischer
91ecac8003
termstatus: fix crash when printing empty string
2025-09-15 20:25:17 +02:00
Michael Eischer
e9b6149303
list: cleanup parameter order of test helper
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
6cdb9a75e6
consider JSON flag in newTerminalProgressPrinter
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
f21fd9d115
Merge pull request #5494 from MichaelEischer/fix-background-handling
...
Refactor terminal background handling
2025-09-13 22:48:11 +02:00
Michael Eischer
d757e39992
make linter happy
2025-09-13 22:22:53 +02:00
Michael Eischer
c0a30e12b4
extend changelog
2025-09-08 11:54:29 +02:00
Michael Eischer
de29d74707
check: fix error reporting on download retry
2025-09-08 11:45:28 +02:00
Michael Eischer
424316e016
extend background handling changelog
2025-09-08 11:04:53 +02:00
Michael Eischer
b71b77fa77
terminal: unexport tcgetpgrp, tcsetpgrp and getpgrp
2025-09-08 11:04:38 +02:00
Michael Eischer
e7890d7b81
use standard line clearing in printProgress
2025-09-08 11:04:24 +02:00
Michael Eischer
529baf50f8
simplify message printing when restic receives signal
2025-09-08 11:04:11 +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
Michael Eischer
cc1fe6c111
Merge pull request #5493 from greatroar/ioctl
...
backend,termstatus: Unify foreground/background detection
2025-09-08 10:40:36 +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
c55df65bb6
Merge pull request #5490 from MichaelEischer/sync-compatibility-section
...
docs: sync compatibility section with website
2025-09-07 11:35:48 +02:00
Michael Eischer
289adebbb7
Merge pull request #5492 from MichaelEischer/update-dependencies
...
update dependencies
2025-09-07 11:34:37 +02:00
Michael Eischer
eef047cfa4
update dependencies
2025-09-06 22:58:30 +02:00
Michael Eischer
7f1ac5764a
Merge pull request #5358 from MichaelEischer/fix-tty-capture-in-background
...
Fix tty capture when started in background
2025-09-06 21:01:03 +02:00
Michael Eischer
52aa1cd17f
docs: sync compatibility section with website
...
This is no change in policy, just a more precise description of the
status quo.
2025-09-06 20:55:48 +02:00
Michael Eischer
42f690dbab
add changelog
2025-09-06 20:50:06 +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
e98c44baaf
Merge pull request #5421 from MichaelEischer/fix-backup-metadata-crash
...
backup: fix possible crash if directory disappears before metadata collection
2025-09-05 19:53:16 +02:00
Michael Eischer
01bc60e96f
backup: fix test on windows
2025-09-05 19:35:25 +02:00
Michael Eischer
484b706dd8
add changelog
2025-09-05 19:28:18 +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
Michael Eischer
275507fb3e
Merge pull request #5452 from dominikschulz/fix/storage
...
Mark HTTP Error 507 as permanent
2025-09-05 19:17:15 +02:00
Michael Eischer
391c27975a
Merge pull request #5460 from restic/dependabot/go_modules/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob-1.6.2
...
build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/storage/azblob from 1.6.1 to 1.6.2
2025-09-05 19:16:54 +02:00
Michael Eischer
7d47e60e27
Merge pull request #5481 from restic/dependabot/github_actions/actions/checkout-5
...
build(deps): bump actions/checkout from 4 to 5
2025-09-05 19:07:58 +02:00