Browse Source

Dry run support for delete/rdelete actions (#298).

Dan Helfman 11 months ago
parent
commit
36197ce027

+ 1 - 1
borgmatic/actions/rdelete.py

@@ -20,7 +20,7 @@ def run_rdelete(
     if rdelete_arguments.repository is None or borgmatic.config.validate.repositories_match(
     if rdelete_arguments.repository is None or borgmatic.config.validate.repositories_match(
         repository, rdelete_arguments.repository
         repository, rdelete_arguments.repository
     ):
     ):
-        logger.answer(f'{repository.get("label", repository["path"])}: Deleting repository')
+        logger.answer(f'{repository.get("label", repository["path"])}: Deleting repository' + (' cache' if rdelete_arguments.cache_only else ''))
 
 
         borgmatic.borg.rdelete.delete_repository(
         borgmatic.borg.rdelete.delete_repository(
             repository,
             repository,

+ 1 - 0
borgmatic/borg/delete.py

@@ -28,6 +28,7 @@ def make_delete_command(
         (local_path, 'delete')
         (local_path, 'delete')
         + (('--info',) if logger.getEffectiveLevel() == logging.INFO else ())
         + (('--info',) if logger.getEffectiveLevel() == logging.INFO else ())
         + (('--debug', '--show-rc') if logger.isEnabledFor(logging.DEBUG) else ())
         + (('--debug', '--show-rc') if logger.isEnabledFor(logging.DEBUG) else ())
+        + borgmatic.borg.flags.make_flags('dry-run', global_arguments.dry_run)
         + borgmatic.borg.flags.make_flags('remote-path', remote_path)
         + borgmatic.borg.flags.make_flags('remote-path', remote_path)
         + borgmatic.borg.flags.make_flags('log-json', global_arguments.log_json)
         + borgmatic.borg.flags.make_flags('log-json', global_arguments.log_json)
         + borgmatic.borg.flags.make_flags('lock-wait', config.get('lock_wait'))
         + borgmatic.borg.flags.make_flags('lock-wait', config.get('lock_wait'))

+ 1 - 0
borgmatic/borg/rdelete.py

@@ -33,6 +33,7 @@ def make_rdelete_command(
         )
         )
         + (('--info',) if logger.getEffectiveLevel() == logging.INFO else ())
         + (('--info',) if logger.getEffectiveLevel() == logging.INFO else ())
         + (('--debug', '--show-rc') if logger.isEnabledFor(logging.DEBUG) else ())
         + (('--debug', '--show-rc') if logger.isEnabledFor(logging.DEBUG) else ())
+        + borgmatic.borg.flags.make_flags('dry-run', global_arguments.dry_run)
         + borgmatic.borg.flags.make_flags('remote-path', remote_path)
         + borgmatic.borg.flags.make_flags('remote-path', remote_path)
         + borgmatic.borg.flags.make_flags('log-json', global_arguments.log_json)
         + borgmatic.borg.flags.make_flags('log-json', global_arguments.log_json)
         + borgmatic.borg.flags.make_flags('lock-wait', config.get('lock_wait'))
         + borgmatic.borg.flags.make_flags('lock-wait', config.get('lock_wait'))

+ 1 - 1
borgmatic/commands/arguments.py

@@ -736,7 +736,7 @@ def make_parsers():
     delete_group.add_argument(
     delete_group.add_argument(
         '--save-space',
         '--save-space',
         action='store_true',
         action='store_true',
-        help='Work slower, but using less space',
+        help='Work slower, but using less space [Not supported in Borg 2.x+]',
     )
     )
     delete_group.add_argument(
     delete_group.add_argument(
         '--checkpoint-interval',
         '--checkpoint-interval',