mirror of https://github.com/borgbackup/borg.git
move rename command to archiver.rename
This commit is contained in:
parent
a31332ddb5
commit
06fe8d3e64
|
@ -99,6 +99,7 @@ from .keys import KeysMixIn
|
||||||
from .locks import LocksMixIn
|
from .locks import LocksMixIn
|
||||||
from .mount import MountMixIn
|
from .mount import MountMixIn
|
||||||
from .prune import PruneMixIn
|
from .prune import PruneMixIn
|
||||||
|
from .rename import RenameMixIn
|
||||||
from .rcreate import RCreateMixIn
|
from .rcreate import RCreateMixIn
|
||||||
from .rdelete import RDeleteMixIn
|
from .rdelete import RDeleteMixIn
|
||||||
from .serve import ServeMixIn
|
from .serve import ServeMixIn
|
||||||
|
@ -119,6 +120,7 @@ class Archiver(
|
||||||
MountMixIn,
|
MountMixIn,
|
||||||
PruneMixIn,
|
PruneMixIn,
|
||||||
HelpMixIn,
|
HelpMixIn,
|
||||||
|
RenameMixIn,
|
||||||
RCreateMixIn,
|
RCreateMixIn,
|
||||||
RDeleteMixIn,
|
RDeleteMixIn,
|
||||||
ServeMixIn,
|
ServeMixIn,
|
||||||
|
@ -695,16 +697,6 @@ class Archiver(
|
||||||
pi.finish()
|
pi.finish()
|
||||||
return self.exit_code
|
return self.exit_code
|
||||||
|
|
||||||
@with_repository(exclusive=True, cache=True, compatibility=(Manifest.Operation.CHECK,))
|
|
||||||
@with_archive
|
|
||||||
def do_rename(self, args, repository, manifest, key, cache, archive):
|
|
||||||
"""Rename an existing archive"""
|
|
||||||
archive.rename(args.newname)
|
|
||||||
manifest.write()
|
|
||||||
repository.commit(compact=False)
|
|
||||||
cache.commit()
|
|
||||||
return self.exit_code
|
|
||||||
|
|
||||||
@with_repository(exclusive=True, manifest=False)
|
@with_repository(exclusive=True, manifest=False)
|
||||||
def do_delete(self, args, repository):
|
def do_delete(self, args, repository):
|
||||||
"""Delete archives"""
|
"""Delete archives"""
|
||||||
|
@ -2202,29 +2194,7 @@ class Archiver(
|
||||||
"paths", metavar="PATH", nargs="*", type=str, help="paths to recreate; patterns are supported"
|
"paths", metavar="PATH", nargs="*", type=str, help="paths to recreate; patterns are supported"
|
||||||
)
|
)
|
||||||
|
|
||||||
# borg rename
|
self.build_parser_rename(subparsers, common_parser, mid_common_parser)
|
||||||
rename_epilog = process_epilog(
|
|
||||||
"""
|
|
||||||
This command renames an archive in the repository.
|
|
||||||
|
|
||||||
This results in a different archive ID.
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
subparser = subparsers.add_parser(
|
|
||||||
"rename",
|
|
||||||
parents=[common_parser],
|
|
||||||
add_help=False,
|
|
||||||
description=self.do_rename.__doc__,
|
|
||||||
epilog=rename_epilog,
|
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
||||||
help="rename archive",
|
|
||||||
)
|
|
||||||
subparser.set_defaults(func=self.do_rename)
|
|
||||||
subparser.add_argument("name", metavar="OLDNAME", type=archivename_validator(), help="specify the archive name")
|
|
||||||
subparser.add_argument(
|
|
||||||
"newname", metavar="NEWNAME", type=archivename_validator(), help="specify the new archive name"
|
|
||||||
)
|
|
||||||
|
|
||||||
self.build_parser_serve(subparsers, common_parser, mid_common_parser)
|
self.build_parser_serve(subparsers, common_parser, mid_common_parser)
|
||||||
self.build_parser_tar(subparsers, common_parser, mid_common_parser)
|
self.build_parser_tar(subparsers, common_parser, mid_common_parser)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
from .common import with_repository, with_archive
|
||||||
|
from ..constants import * # NOQA
|
||||||
|
from ..helpers import archivename_validator
|
||||||
|
from ..helpers import Manifest
|
||||||
|
|
||||||
|
from ..logger import create_logger
|
||||||
|
|
||||||
|
logger = create_logger()
|
||||||
|
|
||||||
|
|
||||||
|
class RenameMixIn:
|
||||||
|
@with_repository(exclusive=True, cache=True, compatibility=(Manifest.Operation.CHECK,))
|
||||||
|
@with_archive
|
||||||
|
def do_rename(self, args, repository, manifest, key, cache, archive):
|
||||||
|
"""Rename an existing archive"""
|
||||||
|
archive.rename(args.newname)
|
||||||
|
manifest.write()
|
||||||
|
repository.commit(compact=False)
|
||||||
|
cache.commit()
|
||||||
|
return self.exit_code
|
||||||
|
|
||||||
|
def build_parser_rename(self, subparsers, common_parser, mid_common_parser):
|
||||||
|
from .common import process_epilog
|
||||||
|
|
||||||
|
rename_epilog = process_epilog(
|
||||||
|
"""
|
||||||
|
This command renames an archive in the repository.
|
||||||
|
|
||||||
|
This results in a different archive ID.
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
subparser = subparsers.add_parser(
|
||||||
|
"rename",
|
||||||
|
parents=[common_parser],
|
||||||
|
add_help=False,
|
||||||
|
description=self.do_rename.__doc__,
|
||||||
|
epilog=rename_epilog,
|
||||||
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
|
help="rename archive",
|
||||||
|
)
|
||||||
|
subparser.set_defaults(func=self.do_rename)
|
||||||
|
subparser.add_argument("name", metavar="OLDNAME", type=archivename_validator(), help="specify the archive name")
|
||||||
|
subparser.add_argument(
|
||||||
|
"newname", metavar="NEWNAME", type=archivename_validator(), help="specify the new archive name"
|
||||||
|
)
|
Loading…
Reference in New Issue