Commit Graph

7571 Commits

Author SHA1 Message Date
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
TW d577abe02e
Merge pull request #7167 from ThomasWaldmann/update-twine-upload-master
twine: use repo name instead of url
2022-11-27 01:03:32 +01:00
Thomas Waldmann b60afa7e19
twine: use repo name instead of url 2022-11-27 01:02:39 +01:00
TW 8eeee915e4
Merge pull request #7166 from ThomasWaldmann/rel200b4
release 2.0.0b4
2022-11-27 01:00:16 +01:00
Thomas Waldmann af93136ca7
build_man 2022-11-26 22:23:46 +01:00
Thomas Waldmann 4d2eb06ed3
build_usage 2022-11-26 22:23:17 +01:00
Thomas Waldmann 3ab46c5f46
update release date of 2.0.0b4 2022-11-26 22:16:53 +01:00
TW a36102e52b
Merge pull request #7165 from ThomasWaldmann/update-changes2
update CHANGES
2022-11-26 21:20:38 +01:00
TW aef439eb1a
Merge pull request #7164 from ThomasWaldmann/vagrant-updates
Vagrant updates
2022-11-26 21:20:23 +01:00
Thomas Waldmann a2f7435a3b
vagrant: use less cpus/concurrency 2022-11-26 19:43:36 +01:00
Thomas Waldmann 724762510d
use python 3.11 for the binary build
use python 3.10.1 for tests.
2022-11-26 19:42:42 +01:00
Thomas Waldmann cc4bee6220
use pyinstaller 5.6.2, fixes #7160
support python 3.11 now!
2022-11-26 19:38:58 +01:00
Thomas Waldmann 82aaef12b0
update CHANGES 2022-11-26 19:35:30 +01:00
TW 7439f89a78
Merge pull request #7157 from ThomasWaldmann/fix-7156
fix crash in borg transfer, fixes #7156
2022-11-26 12:43:26 +01:00
Thomas Waldmann 83576ae94c
fix crash in borg transfer, fixes #7156 2022-11-25 13:32:47 +01:00
TW a2205439a0
Merge pull request #7155 from ThomasWaldmann/cygwin-fixes
Cygwin fixes
2022-11-22 18:49:23 +01:00
Thomas Waldmann ae0017d174
skip test_create_read_special_symlink on cygwin
test is broken on cygwin and hangs infinitely.
2022-11-22 18:16:18 +01:00
Thomas Waldmann 15c51ee3c6
fix test_recreate_basic on cygwin
looks like that chmod should only get done IF we are root (and on linux?).

taking away write permissions on windows/cygwin (and when running as normal
user) makes create_regular_file fail when it tries to create dir2/file3.
2022-11-22 18:16:15 +01:00
Thomas Waldmann f088682bc9
ignore testsuite test for slow msgpack on cygwin
we don't want to have a failing test just because a
not compiled msgpack was used to run the tests.
2022-11-22 18:16:12 +01:00
TW 57c9f6193a
Merge pull request #7141 from RayyanAnsari/fix-repository-tests
Fix repository tests on Windows
2022-11-16 18:43:48 +01:00
Rayyan Ansari 4445fe3bdb testsuite: repository: skip some tests for RemoteRepository 2022-11-15 19:14:33 +00:00
Rayyan Ansari c209daec63 file_integrity.py: make sure file_fd is always closed on exit 2022-11-15 18:46:08 +00:00
Rayyan Ansari f3f6e3f448 testsuite: repository: close fd before deleting segment
See last commit.
2022-11-15 17:55:18 +00:00
Rayyan Ansari 2a8cacf517 repository: cleanup(): close segment before unlinking
On Windows, trying to delete a file that is already open raises an exception.

Docs:
https://docs.python.org/3/library/os.html#os.remove
2022-11-11 18:21:11 +00:00
Rayyan Ansari 62341673c1 repository: use os.replace instead of os.rename
On Windows, os.rename raises an exception if the destination file already exists, unlike os.replace which replaces the destination file.

Docs:
https://docs.python.org/3/library/os.html#os.rename
https://docs.python.org/3/library/os.html#os.replace
2022-11-10 17:56:45 +00:00
TW 5090f809ec
Merge pull request #7136 from ThomasWaldmann/fix-hashing-time-test
fix failing hashing_time test
2022-11-07 12:47:04 +01:00
Thomas Waldmann 85b0dc873a
fix failing hashing_time test
fast CPUs failed the test due to rounding down to 0.00s.
2022-11-07 10:51:04 +01:00
TW 31c53f6b78
Merge pull request #7134 from ThomasWaldmann/remove-py37-compat-code-master
remove python < 3.7 compatibility code
2022-11-07 09:04:54 +01:00
Thomas Waldmann f5f38a1fbd
remove python < 3.7 compatibility code
not supported any more in master and 1.2-maint branches.
2022-11-06 18:22:56 +01:00
TW 473a74d9da
Merge pull request #7133 from ThomasWaldmann/black-same-version
use same black version on gh actions as locally
2022-11-06 17:39:38 +01:00
Thomas Waldmann fa9381a476
use same black version on gh actions as locally 2022-11-06 17:34:59 +01:00
TW 5713908ce1
Merge pull request #7129 from ThomasWaldmann/fix-6070-master
improve/clarify strange test code, fixes #6070
2022-11-05 02:15:39 +01:00
Thomas Waldmann 5a4f07629c improve/clarify strange test code, fixes #6070 2022-11-05 00:46:40 +01:00
TW b9ca421e27
Merge pull request #7127 from ThomasWaldmann/fix-root-paths-master
fix args.paths related argparsing, fixes #6994
2022-11-05 00:27:09 +01:00
Thomas Waldmann 17cc72ec28 fix args.paths related argparsing, fixes #6994
argparse: the default action is "store" and that overwrote an already
existing list in args.paths (e.g. from --pattern="R someroot") when it
started to process the positional PATH args.

with "extend" it now extends the existing args.paths with the list of
positional PATH arguments (which can be 0..N elements long, nargs="*").

note: "extend" is new since python 3.8, thus this can only be backported
to 1.2-maint, but not to 1.1-maint.
2022-11-04 23:29:58 +01:00
TW c3ef6b3a72
Merge pull request #7125 from ThomasWaldmann/hashindex-test-win-master
Fix test_size_on_disk_accurate on Windows
2022-11-04 21:13:23 +01:00
Thomas Waldmann 05997e2867 Fix test_size_on_disk_accurate on Windows
Pass the python file object / fd instead of the file path.

On Windows, a tempfile cannot be opened again, unlike on Unix systems.
See https://docs.python.org/3/library/tempfile.html#tempfile.NamedTemporaryFile
2022-11-04 20:32:53 +01:00
TW edf12186fc
Merge pull request #7123 from RayyanAnsari/hashindex-test-win
Fix test_size_on_disk_accurate on Windows
2022-11-04 20:15:59 +01:00