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
e8ed2434cd
ui: move NewProgressPrinter to ui/progress.NewTerminalPrinter
2026-06-13 16:53:54 +02:00
e5dba15367
Json prune ( #5239 )
...
Co-authored-by: Alexander Weiss <alex@weissfam.de >
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-06-13 10:38:57 +00:00
990329013e
prune more aggresively ( #21803 )
...
Co-authored-by: Michael Eischer <michael.eischer@fau.de >
2026-05-16 15:49:08 +00:00
Michael Eischer
0ff3e20c4b
prune: return proper error if blob cannot be found
2025-11-16 17:04:03 +01:00
Michael Eischer
a816b827cf
extract GlobalOptions into internal/global package
...
Rough steps:
```
mv cmd/restic/global* cmd/restic/secondary_repo* internal/global/
sed -i "s/package main/package global/" internal/global/*.go
Rename "GlobalOptions" to "Options" in internal/global/
Replace everywhere " GlobalOptions" -> " global.Options"
Replace everywhere "\*GlobalOptions" -> " *global.Options"
Make SecondaryRepoOptions public
Make create public
Make version public
```
2025-10-12 17:56:28 +02:00
Michael Eischer
2c677d8db4
global: make private fields public
2025-10-12 17:56:28 +02:00
Michael Eischer
56ac8360c7
data: split node and snapshot code from restic package
2025-10-03 19:10:39 +02:00
Michael Eischer
52eb66929f
repository: deduplicate index progress bar initializaton
2025-10-03 18:55:46 +02:00
Michael Eischer
e753941ad3
move NewProgressPrinter to ui package
2025-10-03 18:55:46 +02:00
Michael Eischer
3410808dcf
deduplicate termstatus setup
2025-10-03 18:55:46 +02:00
Michael Eischer
2d7611373e
ignore JSON flag for fully unsupported commands
...
Considering the flag would result in a mostly empty terminal output,
which is probably worse than text output instead of JSON.
2025-09-21 15:38:29 +02:00
Michael Eischer
d6c75ba2dc
prune: drop unused parameter
2025-09-17 21:18:15 +02:00
Michael Eischer
6b5c8ce14e
change run* functions to accept ui.Terminal instead of *termstatus.Terminal
2025-09-15 22:37:25 +02:00
Michael Eischer
109a211fbe
convert repository locking to use termstatus
2025-09-15 22:34:59 +02:00
Michael Eischer
d8f3e35730
prune: replace Print call with termstatus usage
2025-09-15 22:17:26 +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
062cfc549d
prune: fix not working option
2025-03-22 15:34:40 +01:00
Michael Eischer
3e58b15ace
prune: allow --repack-smaller-than independently of --repack-small
2025-03-22 15:08:36 +01:00
Winfried Plappert
a2a1309fd9
prune: make small pack size configureable for prune all changes together
...
cmd_prune.go: added option `--repack-smaller-than`
prune.go: added field `SmallPackBytes` to `PruneOptions`, including checking and processing
prune_test.go: added test `TestPruneSmall`
doc/060_forget.rst: added description of enhancement
changelog/unreleased/issue-5109: description of enhancement
2025-02-18 16:54:44 +00:00
Michael Eischer
412d6d9ec5
Create root command via function
2025-02-07 21:29:33 +01:00
Michael Eischer
aacd6a47e3
refactor to use constructor functions to create cobra commands
...
This allows getting rid of the global options variables
2025-02-07 18:56:45 +01:00
Michael Eischer
dc9b6378f3
move cli flags into AddFlags on option structs
2025-02-06 22:10:41 +01:00
Michael Eischer
b7ff8ea9cd
repository: expose cache via method
2025-01-13 22:40:18 +01:00
Daniel Danner and GitHub
1062546563
Mention size
2024-11-30 17:52:29 +01:00
Daniel Danner
0997f26461
Reword description --max-repack-size for clarity
2024-11-29 23:29:43 +01:00
Michael Eischer
868efe4968
prune: allow dry-run without taking a lock
2024-11-01 15:27:25 +01:00
Michael Eischer
5988d825b7
group commands and make features/options visible
2024-08-23 23:48:45 +02:00
Michael Terry
56f28c9bd5
main: return an exit code (12) for "bad password" errors
2024-08-15 16:55:45 -04:00
Michael Eischer
94fdca08c4
return exit code 10 if repository does not exist
2024-07-10 21:46:26 +02:00
Michael Eischer
d76a78aa99
return exit code 11 if the repository could not be locked
2024-07-10 21:37:32 +02:00
Michael Eischer
3b7228c8c1
explicitly document exit code 1 on error
2024-07-10 21:35:46 +02:00
Viktor Szépe and Michael Eischer
ac00229386
Fix typos
2024-07-03 20:02:06 +02:00
Michael Eischer
77873f5a9d
repository: let prune control data structure of usedBlobs set
2024-05-24 22:18:14 +02:00
Michael Eischer
2033c02b09
index: replace CountedBlobSet with AssociatedSet
2024-05-24 22:18:14 +02:00
Michael Eischer
93098e9265
prune: hide implementation details of counted blob set
2024-05-24 21:42:56 +02:00
Michael Eischer
68fa0e0305
prune: no longer disable automatic index updates
...
this allows prune to resume an interrupted prune run.
2024-05-24 21:33:17 +02:00
Michael Eischer
8274f5b101
prune: remove Backend.IsNotExist()
...
Only handling one specific error is not particularly useful.
2024-05-18 21:38:31 +02:00
Michael Eischer
31624aeffd
Improve command shutdown on context cancellation
2024-04-22 22:31:38 +02:00
Michael Eischer
d8622c86eb
prune: clean up internal interface
2024-04-14 13:45:15 +02:00
Michael Eischer
85e4021619
prune: move additional option checks to repository
2024-04-14 13:44:58 +02:00
Michael Eischer
fc3b548625
prune: move logic into repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
df9d4b455d
prune: prepare for moving code to repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
32a234b67e
prune/forget/repair index: convert output to use progress.Printer
2024-04-10 21:30:52 +02:00
Michael Eischer
118a69a84b
lock: replace lockRepo(Exclusive) with openWith(Read/Write/Exclusive)Lock
...
The new functions much better convey the intent behind the lock
request. This allows cleanly integrating noLock (for read) and dryRun
(write/exclusive) handling.
There are only minor changes to existing behavior with two exceptions:
- `tag` no longer accepts the `--no-lock` flag. As it replaces files in
the repository, this always requires an exclusive lock.
- `debug examine` now returns an error if both `--extract-pack` and
`--no-lock` are given.
2024-03-28 22:46:33 +01:00
Alexander Neumann
c0514dd8ba
Fix linter errors (except for tests)
2024-02-10 22:58:10 +01:00
Michael Eischer
cb50832d50
index: let MasterIndex.Save also delete obsolete indexes
2024-01-27 12:51:08 +01:00
Michael Eischer
66103aea3d
Remove all usages of the global command-specific options
...
Now, every command uses an options struct, which is passed to the run*
function by the command.RunE method.
2024-01-23 19:21:39 +01:00
Andrea Gelmini
241916d55b
Fix typos
2023-12-06 13:11:55 +01:00