Merge pull request #1752 from ThomasWaldmann/borgversion-enhanced

implement borgmajor/minor/patch placeholders, fixes #1694
This commit is contained in:
TW 2016-10-22 00:33:51 +02:00 committed by GitHub
commit ab8b26b9ac
3 changed files with 23 additions and 4 deletions

View file

@ -1,3 +1,6 @@
# This is a python package
from distutils.version import LooseVersion
from ._version import version as __version__
__version_tuple__ = tuple(LooseVersion(__version__).version[:3])

View file

@ -949,7 +949,19 @@ class Archiver:
{borgversion}
The version of borg.
The version of borg, e.g.: 1.0.8rc1
{borgmajor}
The version of borg, only the major version, e.g.: 1
{borgminor}
The version of borg, only major and minor version, e.g.: 1.0
{borgpatch}
The version of borg, only major, minor and patch version, e.g.: 1.0.8
Examples::
@ -1229,8 +1241,8 @@ class Archiver:
'.checkpoint.N' (with N being a number), because these names are used for
checkpoints and treated in special ways.
In the archive name, you may use the following format tags:
{now}, {utcnow}, {fqdn}, {hostname}, {user}, {pid}, {borgversion}
In the archive name, you may use the following placeholders:
{now}, {utcnow}, {fqdn}, {hostname}, {user} and some others.
To speed up pulling backups over sshfs and similar network file systems which do
not provide correct inode information the --ignore-inode flag can be used. This

View file

@ -28,6 +28,7 @@ from fnmatch import translate
from operator import attrgetter
from . import __version__ as borg_version
from . import __version_tuple__ as borg_version_tuple
from . import hashindex
from . import chunker
from . import crypto
@ -585,6 +586,9 @@ def replace_placeholders(text):
'utcnow': current_time.utcnow(),
'user': uid2user(os.getuid(), os.getuid()),
'borgversion': borg_version,
'borgmajor': '%d' % borg_version_tuple[:1],
'borgminor': '%d.%d' % borg_version_tuple[:2],
'borgpatch': '%d.%d.%d' % borg_version_tuple[:3],
}
return format_line(text, data)