Commit Graph

7014 Commits

Author SHA1 Message Date
Kevin Puetz fe3775cf80 Fix test_size_on_disk_accurate for large st_blksize, fixes #7250
python's io.BufferedWriter sizes its buffer based on st_blksize.
If the write fits in this buffer, then it's possible the data from
idx.write() has not been flushed through to ,the underlying filesystem,
and getsize(fileno()) sees a too-short (or even empty) file.

Also, getsize is only documented as accepting path-like objects;
passing a fileno seems to work only because the implementation
blindly forwards everything through to os.stat without checking.

Passing unopened_tempfile avoids all three problems
- on windows, it doesn't rely on re-opening NamedTemporaryFile
  (the issue which led to 8ddfd94f09)
- we're following the documented API of getsize(path-like)
- the file is closed (thus flushed) inside idx.write, before getsize()
2023-01-11 19:19:43 -06:00
TW 2336c4b5a6
Merge pull request #7256 from ThomasWaldmann/docs-libb2-1.2
remove BORG_LIBB2_PREFIX (not used any more)
2023-01-10 14:24:38 +01:00
Thomas Waldmann 47e0f9bcb0
remove BORG_LIBB2_PREFIX (not used any more)
the code now uses hashlib.blake2b from python stdlib.
2023-01-10 14:09:28 +01:00
TW 1ac19b034b
Merge pull request #7242 from ThomasWaldmann/upgrade-cython-1.2
upgrade Cython to 0.29.33
2023-01-06 22:04:18 +01:00
TW 32b5f44bbb
Merge pull request #7235 from ThomasWaldmann/macos-resourcefork-mtime-1.2
extract: fix mtime when ResourceFork xattr is set (macOS specific)
2023-01-06 21:41:29 +01:00
Thomas Waldmann 497eca0faf
upgrade Cython to 0.29.33 2023-01-06 21:39:22 +01:00
Thomas Waldmann b96781b9dd
macOS: fix mtime timestamp extraction if ResourceFork xattr is present, fixes #7234
setting the timestamps after xattrs helps for correct mtime,
but atime is still broken in this case.
2022-12-30 00:08:06 +01:00
Thomas Waldmann c095e2ef61
macOS: test correct timestamp extraction if ResourceFork xattr is present, see #7234 2022-12-30 00:08:04 +01:00
TW 4ca090bb8c
Merge pull request #7229 from ThomasWaldmann/update-requirements-1.2
update development.lock.txt
2022-12-27 20:31:28 +01:00
Thomas Waldmann 3837e0233d
update development.lock.txt
including a setuptools security fix, see #7227

also:
- cosmetic change in development.txt to have same order
- removed exclusion of broken Cython release (outdated since long)
2022-12-27 19:32:20 +01:00
TW 06716a7971
Merge pull request #7224 from ThomasWaldmann/rel123
release 1.2.3
2022-12-24 23:25:57 +01:00
Thomas Waldmann ae8b0eb3e4
avoid git complaining about dubious ownership
this lead to breakage of setuptools_scm, it could not
determine the borg version under fakeroot due to this
git / ownership issue.
2022-12-24 18:15:49 +01:00
Thomas Waldmann 795a553675
build_man 2022-12-24 18:09:33 +01:00
Thomas Waldmann ec49d60d1f
build_usage 2022-12-24 18:09:32 +01:00
Thomas Waldmann e4cbd28bdd
update CHANGES 2022-12-24 18:09:30 +01:00
Thomas Waldmann ffd6d51b2c
fix xattr tests
while fixing #6988, some strings were changed, but the tests not adapted:

a758fda089
2022-12-24 18:09:28 +01:00
TW ab0f0d24fd
Merge pull request #7223 from ThomasWaldmann/fix-docs-prefix-1.2
Fix docs / tests concerning deprecated --prefix (1.2-maint)
2022-12-24 15:10:56 +01:00
Thomas Waldmann 90a937e1ed
remove deprecated --prefix from docs, fixes #7109
also:

- rather mention --glob-archives
- rather test --glob-archives
2022-12-24 14:44:05 +01:00
TW 2f78e545e0
Merge pull request #7222 from ThomasWaldmann/vagrant-updates
Vagrant updates
2022-12-24 04:40:08 +01:00
Thomas Waldmann aa2c2a4e34
vagrant: use python 3.9.16 for the binary build 2022-12-24 02:24:35 +01:00
Thomas Waldmann 5a442743f5
vagrant: use the openbsd 7.1 box
openbsd 6.9 was removed from the ftp servers and
the vagrant box stopped working. so we now use the
same box as in master branch.
2022-12-24 02:21:50 +01:00
TW 5704c4d887
Merge pull request #7215 from ThomasWaldmann/github-actions-updates-1.2
GitHub actions updates (1.2-maint)
2022-12-17 21:39:07 +01:00
TW 28bf1db2c8
Merge pull request #7216 from ThomasWaldmann/fix-ci-1.2
fix github CI (1.2-maint)
2022-12-17 21:38:05 +01:00
Thomas Waldmann 96d36e32cb
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 20:27:49 +01:00
Thomas Waldmann dd8e5487e3
github CI: prepend to PKG_CONFIG_PATH 2022-12-17 20:27:39 +01:00
Thomas Waldmann 0849ef25de
github CI: use actions/cache@v3 2022-12-17 20:02:52 +01:00
Thomas Waldmann b69721ebe0
no fail fast, just checking... 2022-12-17 18:48:41 +01:00
Thomas Waldmann fe1c89e5ba
github CI: use actions/setup-python@v4
should fix the node12 deprecation warning.
2022-12-17 18:33:26 +01:00
Thomas Waldmann bb1c132bbc
github CI: use actions/checkout@v3
should fix the node12 deprecation warning.
2022-12-17 18:33:12 +01:00
Thomas Waldmann 73097c8162
github CI: use ubuntu-20.04 (not -latest)
affects only the lint job, everything else used 20.04 already.
2022-12-17 18:33:06 +01:00
TW d61f5eba63
Merge pull request #7214 from ThomasWaldmann/update-changes-1.2
update CHANGES (1.2-maint)
2022-12-17 18:13:31 +01:00
Thomas Waldmann 9c8ac57399
update CHANGES 2022-12-17 18:04:03 +01:00
TW 2aae879c49
Merge pull request #7210 from ThomasWaldmann/list-directories-dry-run-1.2
create: --list --dry-run output for directories, fixes #7209
2022-12-15 17:50:46 +01:00
Thomas Waldmann dca6792850
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:26:36 +01:00
TW 6d5c4a48b3
Merge pull request #7201 from ThomasWaldmann/fix-macos-ci-1.2
fix tox4 issue on macOS CI (1.2-maint)
2022-12-10 20:52:29 +01:00
Thomas Waldmann e66d8c399b
fix tox4 passenv issue, fixes #7199
also: have a setting to disable fail-fast, in case something breaks again.
2022-12-10 19:55:28 +01:00
TW 79b6c985a1
Merge pull request #7169 from ThomasWaldmann/update-twine-upload-1.2
twine: use repo name instead of url
2022-11-27 01:25:39 +01:00
Thomas Waldmann 3984a7e3da
twine: use repo name instead of url 2022-11-27 01:24:25 +01:00
TW d4cd911d46
Merge pull request #7150 from ThomasWaldmann/fix-nfiles-1.2
Fix nfiles 1.2
2022-11-20 20:30:25 +01:00
TW 889c8778a1
Merge pull request #7149 from ThomasWaldmann/py311-1.2
update python 3.9 and 3.11
2022-11-20 18:48:25 +01:00
Thomas Waldmann f6419ee28b
archive.save(): always use metadata from stats, fixes #7072
e.g. nfiles, size, etc.

fixes:
- checkpoint archives did not have this metadata yet
- borg import-tar did not have this metadata yet
2022-11-20 18:33:53 +01:00
Thomas Waldmann 822a23da92
github CI: use python 3.11 (not -dev) 2022-11-20 17:58:43 +01:00
Thomas Waldmann d623b47da9
vagrant: use python 3.9.15 for tests/binary build 2022-11-20 17:57:16 +01:00
TW c233a964f2
Merge pull request #7147 from ThomasWaldmann/fix-repository-tests-1.2
Fix repository tests 1.2
2022-11-19 17:06:07 +01:00
Rayyan Ansari d0b09dfc95
testsuite: repository: skip some tests for RemoteRepository 2022-11-19 14:30:41 +01:00
Rayyan Ansari 82f6adf8e0
file_integrity.py: make sure file_fd is always closed on exit 2022-11-19 14:30:16 +01:00
Rayyan Ansari 9cff9d96fa
testsuite: repository: close fd before deleting segment
See last commit.
2022-11-19 14:28:14 +01:00
Rayyan Ansari 05505de807
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-19 14:25:01 +01:00
Rayyan Ansari 6a97e936ac
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-19 14:22:35 +01:00
TW 97261dbb22
Merge pull request #7135 from ThomasWaldmann/remove-py37-compat-code-1.2
remove python < 3.7 compatibility code
2022-11-07 09:04:37 +01:00