1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-24 16:55:36 +00:00
Commit graph

7458 commits

Author SHA1 Message Date
Paul D
a85b643866 Docs grammar fixes.
One cannot "to not x", but one can "not to x".
Avoiding split infinitives gives the added bonus that machine
translation yields better results.

setup (n/adj) vs set(v) up. We don't "I setup it" but "I set it up".

Likewise for login(n/adj) and log(v) in, backup(n/adj) and back(v) up.
2022-12-29 00:01:48 +00:00
TW
e49b60ae59
Merge pull request #7228 from ThomasWaldmann/update-requirements-master
update development.lock.txt
2022-12-27 19:22:28 +01:00
Thomas Waldmann
7f5af3c98f
update development.lock.txt
including a setuptools security fix, see #7227

also: cosmetic change in development.txt to have same order
2022-12-27 18:51:28 +01:00
Franco Ayala
ab465a75d4
Adding used storage quota to borg info (#7121) 2022-12-24 01:55:47 +01:00
TW
edb28691d5
Merge pull request #7171 from RayyanAnsari/archiver-tests-win
Fix archiver tests on Windows
2022-12-18 16:06:19 +01:00
Rayyan Ansari
cf61e7d58a testsuite: archiver: skip block device in test_transfer_upgrade
On MINGW, the S_IFBLK macro is incorrectly set as 0x3000 instead of 0x6000.
https://github.com/mingw-w64/mingw-w64/blob/v10.0.0/mingw-w64-headers/crt/sys/stat.h#L133
2022-12-18 14:05:24 +00:00
Rayyan Ansari
66a407ff9f Use \n for the {NL} format specifier
\n is automatically converted on write to the platform-dependent os.linesep.
Using os.linesep instead of \n means that on Windows, the line ending becomes "\r\r\n".
Also switches mentions of {LF} to {NL} in code and docs.
2022-12-18 14:05:24 +00:00
Rayyan Ansari
d32ae512a8 testsuite: archiver: change regex excludes in test_extract_include_exclude_regex_from_file
On Windows, the ":" character cannot be used in a filename.
Python does not error on this because the ":" character represents data streams.
See https://stackoverflow.com/a/54508979
2022-12-18 14:05:24 +00:00
Rayyan Ansari
2505118fff testsuite: archiver: check if symlinks supported before test_create_read_special_broken_symlink
On Windows, symlinks can only be created by administrator accounts.
Using are_symlinks_supported() skips the test if the symlink cannot be created.
See https://docs.python.org/3/library/os.html#os.symlink
2022-12-18 14:05:24 +00:00
Rayyan Ansari
e97a966b46 testsuite: archiver: fix test_create_paths_from_command on Windows
On Windows, `echo` is a shell builtin and can only output one line at a time.
A batch file that outputs the filenames is instead used as the command.
2022-12-18 14:05:24 +00:00
Rayyan Ansari
9e9b94615e archiver: key_cmds: check if key path is a directory before opening
On Windows, Python raises PermissionError instead of IsADirectoryError (like on Unix) if the file to open is actually a directory.
See https://github.com/python/cpython/issues/87261
2022-12-18 14:05:24 +00:00
Rayyan Ansari
fff2c21e65 testsuite: archiver: skip test_file_status_cs_cache_mode on Windows
On Windows, the ctime attribute of stat represents the time of creation, unlike Unix.
See https://docs.python.org/3/library/os.html#os.stat_result.st_ctime
2022-12-18 14:05:24 +00:00
Rayyan Ansari
12245761c0 testsuite: archiver: diff_cmd: ignore modes
Windows does not have file modes.
2022-12-18 14:05:24 +00:00
Rayyan Ansari
d8e8247c6d testsuite: archiver: increase hashing test bytes
A lower value results in the hash running too fast and the time being rounded down to 0.0, resulting in the test failing.
2022-12-18 14:05:24 +00:00
Rayyan Ansari
061397740c testsuite: archiver: skip test_umask on Windows
Windows does not have file modes, so os.stat always returns 777.
2022-12-18 14:05:24 +00:00
Rayyan Ansari
208add518f testsuite: archiver: skip test_unix_socket on Windows
Python on Windows does not support the AF_UNIX socket type yet.
https://github.com/python/cpython/issues/77589
2022-12-18 14:05:23 +00:00
Rayyan Ansari
2f9c7d98e5 testsuite: archiver: use os.linesep instead of hardcoded newline string
On Windows, a newline is \r\n instead of \n.
2022-12-18 14:05:15 +00:00
Rayyan Ansari
e65c6ac787 platform: windows: use root/0 as dummy user and id values
Windows does not have the uid/gid system.
2022-12-18 14:00:35 +00:00
Rayyan Ansari
5e8452a705 archiver: create_cmd: do not add preexec_fn on Windows
The preexec_fn argument of Popen is not supported on Windows.
2022-12-18 14:00:35 +00:00
Rayyan Ansari
1deeb0b17d testsuite: archiver: do not try to create special devices on Windows
Windows does not support these file types in userspace programs.
2022-12-18 14:00:35 +00:00
TW
32d0567a17
Merge pull request #7217 from ThomasWaldmann/github-actions-updates-master
GitHub actions updates (master)
2022-12-17 22:24:48 +01:00
Thomas Waldmann
b1d7cb4e1e
github CI: set PKG_CONFIG_PATH again
strange: on macOS, the globally set PKG_CONFIG_PATH was overwritten,
thus the borg build did not find openssl any more. setting it here
locally again works around the issue.
2022-12-17 21:37:27 +01:00
Thomas Waldmann
d959178e76
github CI: prepend to PKG_CONFIG_PATH 2022-12-17 21:35:26 +01:00
Thomas Waldmann
6041928c0a
github CI: use actions/cache@v3 2022-12-17 20:32:35 +01:00
Thomas Waldmann
626a5c9229
github CI: use actions/setup-python@v4 2022-12-17 20:31:58 +01:00
Thomas Waldmann
2f0a81617f
github CI: use actions/checkout@v3 2022-12-17 20:31:13 +01:00
Thomas Waldmann
c9a879a358
github CI: use ubuntu-20.04 2022-12-17 20:30:07 +01:00
TW
a3614b5a3c
Merge pull request #7213 from ThomasWaldmann/remove-save-space
remove --save-space
2022-12-17 17:17:10 +01:00
Thomas Waldmann
8747644540
remove --save-space
this option did not change behaviour since longer,
we only had kept it for API compatibility.

as a borg2 repo server won't have old clients talking to it,
we can safely remove this everywhere now.
2022-12-17 16:48:54 +01:00
TW
3202f68fb3
Merge pull request #7212 from ThomasWaldmann/archivename-validator
use archivename_validator everywhere
2022-12-15 23:30:33 +01:00
Thomas Waldmann
a475227e18
use archivename_validator everywhere
also: simplify, reuse code from text_validator.
2022-12-15 22:54:46 +01:00
TW
d0d21e7928
Merge pull request #7197 from ThomasWaldmann/valid-archive-names
text attributes: validate more strictly, fixes #2290
2022-12-15 19:24:17 +01:00
TW
5eb368dc41
Merge pull request #7211 from ThomasWaldmann/list-directories-dry-run-master
create: --list --dry-run output for directories, fixes #7209
2022-12-15 19:19:49 +01:00
Thomas Waldmann
61e5115d1d
fix fso.stats updating
fso is None in dry_run mode.
2022-12-15 18:10:36 +01:00
Thomas Waldmann
19e25043b5
create: --list --dry-run output for directories, fixes #7209
Without the status being set no output was generated in
dry-run mode, confusing users about whether borg would back
up directories (in non-dry-run mode).

- == item not backed up just because of dry-run mode
x == item excluded
2022-12-15 17:37:51 +01:00
Thomas Waldmann
b9dc2be661
remove support for bpath placeholder
this needs to get done differently later, maybe base64 for json output.
2022-12-12 19:39:52 +01:00
Thomas Waldmann
1e2741ad3d
remove support for barchive placeholder
not needed any more as the archive name is now validated pure text.
2022-12-12 19:10:58 +01:00
Thomas Waldmann
1517db07ec
remove support for bcomment placeholder
not needed any more as the comment is now validated pure text.
2022-12-12 18:55:14 +01:00
Thomas Waldmann
4b54b5565e
use comment validator for cli args and borg transfer 2022-12-12 18:48:01 +01:00
Thomas Waldmann
99c6afbc61
add generic text and comment validator 2022-12-12 18:01:07 +01:00
Thomas Waldmann
ebff12ad41
transfer: validate archive names before transfer 2022-12-12 17:06:13 +01:00
Thomas Waldmann
fe2b2bc007
archive names: validate more strictly, fixes #2290
we want to be able to use an archive name as a directory name,
e.g. for the FUSE fs built by borg mount.

thus we can not allow "/" in an archive name on linux.

on windows, the rules are more restrictive, disallowing
quite some more characters (':<>"|*?' plus some more).
we do not have FUSE fs / borg mount on windows yet, but
we better avoid any issues.
we can not avoid ":" though, as our {now} placeholder
generates ISO-8601 timestamps, including ":" chars.

also, we do not want to have leading/trailing blanks in
archive names, neither surrogate-escapes.

control chars are disallowed also, including chr(0).
we have python str here, thus chr(0) is not expected in there
(is not used to terminate a string, like it is in C).
2022-12-12 17:05:01 +01:00
TW
de6d8af42c
Merge pull request #7198 from ThomasWaldmann/fix-macos-ci-master
fix tox4 issue on macOS CI
2022-12-10 20:05:47 +01:00
Thomas Waldmann
e6424aa0f5
fix tox4 passenv issue, fixes #7199
also: have a setting to disable fail-fast, in case something breaks again.
2022-12-10 19:34:32 +01:00
TW
9ba507ac74
Merge pull request #7182 from ThomasWaldmann/transfer-upgrade-tests
fixes and transfer/upgrade tests
2022-12-10 13:19:41 +01:00
Thomas Waldmann
15139a80c9
bugfix: switch archive timestamps to utc
we use utc for file timestamps and manifest timestamp,
so let's use utc for archives also.
2022-12-04 10:55:20 +01:00
Thomas Waldmann
1f859c9f17
refactor: get archive timestamps via archive_ts_now() 2022-12-04 10:55:17 +01:00
Thomas Waldmann
6a82d01b35
tests for borg transfer --upgrader=From12To20 2022-12-04 09:07:48 +01:00
Thomas Waldmann
87e597011a
bugfix: file timestamps should use tz-aware utc datetime objs
the UNIX time used for timestamp is seconds since 1.1.1970,
in UTC. thus, the natural way to represent it is with a
tz-aware utc datetime object.

but previously (in borg 1.x), they used naive datetime
objects and localtime.
2022-12-04 09:07:29 +01:00
Thomas Waldmann
c343673ab5
bugfix: do no assume hardlink_master=True if not present, see #7175
this would produce unneeded item.hlid attributes
for fifos, char and block devices when transferring /
upgrading from faulty borg 1.x archives.
2022-11-28 23:57:59 +01:00