mirror of https://github.com/borgbackup/borg.git
rephrase some warnings, fixes #5164 borg check --repair and borg recreate are now present in the code since rather long, so they are not experimental any more. borg recreate might be used wrongly (e.g. accidentally excluding everything / not matching anything when recreating an archive). added some warning words in the docs, but it will not ask for confirmation any more. borg check: there might be kinds of corruption borg check --repair can not fix and it might make things even worse while trying to fix. so this will still ask for confirmation, just with different wording.
This commit is contained in:
parent
9b8ba5f6f7
commit
303c11f245
|
@ -575,8 +575,6 @@ Prompts
|
|||
BORG_RELOCATED_REPO_ACCESS_IS_OK
|
||||
For "Warning: The repository at location ... was previously located at ..."
|
||||
BORG_CHECK_I_KNOW_WHAT_I_AM_DOING
|
||||
For "Warning: 'check --repair' is an experimental feature that might result in data loss."
|
||||
For "This is a potentially dangerous function..." (check --repair)
|
||||
BORG_DELETE_I_KNOW_WHAT_I_AM_DOING
|
||||
For "You requested to completely DELETE the repository *including* all archives it contains:"
|
||||
BORG_RECREATE_I_KNOW_WHAT_I_AM_DOING
|
||||
For "recreate is an experimental feature."
|
||||
|
|
|
@ -83,11 +83,9 @@ Some automatic "answerers" (if set, they automatically answer confirmation quest
|
|||
BORG_RELOCATED_REPO_ACCESS_IS_OK=no (or =yes)
|
||||
For "Warning: The repository at location ... was previously located at ..."
|
||||
BORG_CHECK_I_KNOW_WHAT_I_AM_DOING=NO (or =YES)
|
||||
For "Warning: 'check --repair' is an experimental feature that might result in data loss."
|
||||
For "This is a potentially dangerous function..." (check --repair)
|
||||
BORG_DELETE_I_KNOW_WHAT_I_AM_DOING=NO (or =YES)
|
||||
For "You requested to completely DELETE the repository *including* all archives it contains:"
|
||||
BORG_RECREATE_I_KNOW_WHAT_I_AM_DOING=NO (or =YES)
|
||||
For "recreate is an experimental feature."
|
||||
|
||||
Note: answers are case sensitive. setting an invalid answer value might either give the default
|
||||
answer or ask you interactively, depending on whether retries are allowed (they by default are
|
||||
|
|
|
@ -306,8 +306,10 @@ class Archiver:
|
|||
def do_check(self, args, repository):
|
||||
"""Check repository consistency"""
|
||||
if args.repair:
|
||||
msg = ("'check --repair' is an experimental feature that might result in data loss." +
|
||||
"\n" +
|
||||
msg = ("This is a potentially dangerous function.\n"
|
||||
"check --repair might lead to data loss (for kinds of corruption it is not\n"
|
||||
"capable of dealing with). BE VERY CAREFUL!\n"
|
||||
"\n"
|
||||
"Type 'YES' if you understand this and want to continue: ")
|
||||
if not yes(msg, false_msg="Aborting.", invalid_msg="Invalid answer, aborting.",
|
||||
truish=('YES', ), retry=False,
|
||||
|
@ -1587,12 +1589,6 @@ class Archiver:
|
|||
@with_repository(cache=True, exclusive=True, compatibility=(Manifest.Operation.CHECK,))
|
||||
def do_recreate(self, args, repository, manifest, key, cache):
|
||||
"""Re-create archives"""
|
||||
msg = ("recreate is an experimental feature.\n"
|
||||
"Type 'YES' if you understand this and want to continue: ")
|
||||
if not yes(msg, false_msg="Aborting.", truish=('YES',),
|
||||
env_var_override='BORG_RECREATE_I_KNOW_WHAT_I_AM_DOING'):
|
||||
return EXIT_ERROR
|
||||
|
||||
matcher = self.build_matcher(args.patterns, args.paths)
|
||||
self.output_list = args.output_list
|
||||
self.output_filter = args.output_filter
|
||||
|
@ -2861,6 +2857,9 @@ class Archiver:
|
|||
check_epilog = process_epilog("""
|
||||
The check command verifies the consistency of a repository and the corresponding archives.
|
||||
|
||||
check --repair is a potentially dangerous function and might lead to data loss
|
||||
(for kinds of corruption it is not capable of dealing with). BE VERY CAREFUL!
|
||||
|
||||
First, the underlying repository data files are checked:
|
||||
|
||||
- For all segments, the segment magic header is checked.
|
||||
|
@ -4088,7 +4087,8 @@ class Archiver:
|
|||
recreate_epilog = process_epilog("""
|
||||
Recreate the contents of existing archives.
|
||||
|
||||
This is an *experimental* feature. Do *not* use this on your only backup.
|
||||
recreate is a potentially dangerous function and might lead to data loss
|
||||
(if used wrongly). BE VERY CAREFUL!
|
||||
|
||||
Important: Repository disk space is **not** freed until you run ``borg compact``.
|
||||
|
||||
|
|
|
@ -251,7 +251,6 @@ class ArchiverTestCaseBase(BaseTestCase):
|
|||
def setUp(self):
|
||||
os.environ['BORG_CHECK_I_KNOW_WHAT_I_AM_DOING'] = 'YES'
|
||||
os.environ['BORG_DELETE_I_KNOW_WHAT_I_AM_DOING'] = 'YES'
|
||||
os.environ['BORG_RECREATE_I_KNOW_WHAT_I_AM_DOING'] = 'YES'
|
||||
os.environ['BORG_PASSPHRASE'] = 'waytooeasyonlyfortests'
|
||||
self.archiver = not self.FORK_DEFAULT and Archiver() or None
|
||||
self.tmpdir = tempfile.mkdtemp()
|
||||
|
|
Loading…
Reference in New Issue