Srigovind Nayak
fe412e2553
fix: restore inclusion logic and restore tests
...
doc: update exclude and include docs
2024-06-10 01:55:39 +05:30
Srigovind Nayak
188684ee9e
fix: include and exclude logic, add tests for include file and exclude file
2024-06-09 19:07:23 +05:30
Srigovind Nayak
24a247a0dc
test: update test case name
2024-06-08 13:23:35 +05:30
Srigovind Nayak
3a52176121
restore: accumulate results of multiple pattern checks
...
addressing review comments
2024-06-08 13:23:35 +05:30
Srigovind Nayak
1a7574e4b4
test: add tests for include By pattern
2024-06-08 13:23:35 +05:30
Srigovind Nayak
4e449ffaff
test: add tests for reading patterns from file
2024-06-08 13:23:35 +05:30
Srigovind Nayak
14d2799b44
fix: move include and exclude pattern validations to top
2024-06-08 13:23:35 +05:30
Srigovind Nayak
fdf2e4ed0e
restore: refactor include and exclude
...
- added includePatternOptions similar to excludePatternOptions
- followed similar approach to backup for selecting files for restore
2024-06-08 13:23:35 +05:30
Srigovind Nayak
7d5dd6db66
fix: add string.Lower for insenstive includes and excludes read from file
2024-06-08 13:23:35 +05:30
Srigovind Nayak
b02117ef0b
restore: read includes, insensitive includes, excludes and insensitive excludes from a file
...
feature for gh-4781
2024-06-08 13:23:35 +05:30
Michael Eischer
3f878aa8e7
Merge pull request #4845 from greatroar/errors
...
Fix error handling bug + clean up error messages
2024-06-07 17:07:07 +00:00
greatroar
10fdb914df
cmd: Return error in readPassword
...
The returned error was always nil.
Replaced Wrap by WithStack because the function name was stale.
2024-06-02 10:11:27 +02:00
Michael Eischer
2280fbfd2e
Merge pull request #4810 from konidev20/fix-gh-4768-add-custom-user-agent-for-http-client
...
Allow custom User-Agent to be specified for outgoing requests
2024-05-30 16:34:52 +00:00
Michael Eischer
7e0ee5974f
Merge pull request #4816 from MichaelEischer/skip-if-unchanged
...
backup: add support for `--skip-if-unchanged`
2024-05-30 15:39:08 +02:00
Srigovind Nayak
de7b418bbe
http: allow custom User-Agent
for outgoing HTTP requests
2024-05-30 15:38:06 +02:00
Michael Eischer
6869bdaaa8
backup: implement --skip-if-unchanged
2024-05-30 15:14:31 +02:00
Michael Eischer
13127f3f6b
check: remove output mangling workaround
2024-05-30 15:09:27 +02:00
Michael Eischer
939b537c80
check/migrate: convert to use termstatus to prevent mangled output
...
Errors reported by check would result in corrupted output.
2024-05-30 15:09:27 +02:00
Michael Eischer
52b3fee42b
Merge pull request #4818 from MichaelEischer/move-code
...
Move cache / index / hashing / pack packages
2024-05-30 13:54:31 +02:00
Michael Eischer
fe8fbcc5ed
Merge pull request #4822 from MichaelEischer/consistent-backup-source-name
...
backup: refer to backed up data as backup source not target
2024-05-30 13:53:25 +02:00
Michael Eischer
619ce8bfa2
Merge pull request #4820 from MichaelEischer/forget-extend-descritpion
...
forget: explain oldest snapshot special case in command help
2024-05-26 10:04:43 +00:00
Michael Eischer
18990dbed8
backup: refer to backed up data as backup source not target
...
A backup reads from the source and writes it to the backup target
(repository). The name "target" is kept within the source code as it's
used there excessively.
2024-05-25 23:13:37 +02:00
Shivashis Padhi
0271bb97f8
check: enhance check command to create cache directory if it doesn't exist
2024-05-25 19:15:42 +05:30
Michael Eischer
2c7ebf4c7f
forget: explain oldest snapshot special case in command help
2024-05-25 15:10:21 +02:00
Michael Eischer
7ea508e7b8
Merge pull request #4815 from greatroar/termstatus
...
Termstatus refactoring
2024-05-25 12:08:53 +00:00
Michael Eischer
5e0ea8fcfa
pack: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
50ec408302
index: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
8e5d7d719c
cache: move to backend package
2024-05-24 23:04:06 +02:00
Michael Eischer
1d2277b4c3
Add --insecure-no-password option
...
This also includes two derived options `--from-insecure-no-password`
used for commands that require specifying a source repository. And
`--new-insecure-no-password` for the `key add` and `key passwd`
commands.
Specifying `--insecure-no-password` disabled the password prompt and
immediately uses an empty password. Passing a password via CLI option or
environment variable at the same time is an error.
2024-05-24 22:38:20 +02:00
Michael Eischer
d4b0d21199
key add/passwd: deduplicate options setup and remove globals
...
The current pattern of using a global options variable is problematic.
2024-05-24 22:38:20 +02:00
Michael Eischer
462b82a060
index: reduce size of compressed indexes
...
use the same index size for compressed and uncompressed indexes.
Otherwise, decoding the index of a compressed repository requires
significantly more memory.
2024-05-24 22:18:14 +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
864995271e
repository: unwrap BlobHandle parameters of LookupBlob
...
The method now uses the same parameters as LookupBlobSize.
2024-05-24 21:33:17 +02:00
Michael Eischer
1266a4932f
repository: fix parameter order of LookupBlobSize
...
All methods should use blobType followed by ID.
2024-05-24 21:33:17 +02:00
Michael Eischer
0aa5c53842
repository: replace HasBlob with LookupBlobSize
2024-05-24 21:33:17 +02:00
Michael Eischer
4df887406f
repository: inline MasterIndex interface into Repository interface
2024-05-24 21:33:17 +02:00
Michael Eischer
3cc6827f09
forget: add feature flag for safe --keep-tags behavior
2024-05-24 20:45:33 +02:00
Michael Eischer
82ca0030b7
forget: test --unsafe-allow-remove-all and --keep-tags safety check
2024-05-24 20:45:33 +02:00
Michael Eischer
57f9739573
forget: Add --unsafe-allow-remove-all option
...
To prevent accidentally wiping all snapshots from a repository, that
option can only be used if either a snapshot filter or a keep policy is
specified.
Essentially, the option allows `forget --tag something
--unsafe-allow-remove-all` calls to remove all snapshots with a specific
tag.
2024-05-24 20:45:33 +02:00
Michael Eischer
5b7952e426
forget: return error if no policy was specified
2024-05-24 20:45:33 +02:00
Michael Eischer
c0e1f36830
forget: refuse deleting the last snapshot in a snapshot group
...
`--keep-tag invalid-tag` was previously able to wipe all snapshots in a
repository. As a user specified a `--keep-*` option this is likely
unintentional. This forbid deleting all snapshot if a `--keep-*` option
was specified to prevent data loss. (Not specifying such an option
currently also causes the command to abort)
2024-05-24 20:45:33 +02:00
Michael Eischer
a60ee9b764
retry: limit retries based on elapsed time not count
...
Depending on how long an operation takes to fail, the total retry
duration can currently vary between 1.5 and 15 minutes. In particular
for temporarily interrupted network connections, the former timeout is
too short. Thus always use a limit of 15 minutes.
2024-05-24 20:24:02 +02:00
Michael Eischer
a3633cad9e
retry: explicitly log failed requests
...
This simplifies finding the request in the log output that cause an
operation to fail.
2024-05-24 20:24:02 +02:00
greatroar
66d03c797e
ui, termstatus: Move WrapStdio
...
Saves some imports. ui still needs to import ui/termstatus from
message.go.
2024-05-21 11:25:16 +02:00
greatroar
0b56214473
ui: Simplify stdio wrapper
...
The StdioWrapper type is really just a pair of io.WriteClosers, so
remove it in favor of a function that returns two of those. Test
coverage increases because the removed code was not tested.
2024-05-21 11:23:32 +02:00
Michael Eischer
94e863885c
check: move verification of individual pack file to repository
2024-05-18 21:42:50 +02:00
Michael Eischer
ab9077bc13
replace usages of backend.Remove() with repository.RemoveUnpacked()
...
RemoveUnpacked will eventually block removal of all filetypes other than
snapshots. However, getting there requires a major refactor to provide
some components with privileged access.
2024-05-18 21:38:31 +02:00