Commit graph

9562 commits

Author SHA1 Message Date
Hugo Wallenburg
39bdfaaa2e
Adds int_or_interval format parser
Accepts either int or interval, first tries parsing int then tries
parsing as interval if that fails. Returns a timedelta for easy date
math later. Now allows intervals of length 0 as a 0-length timedelta is
perfectly fine to work with.
2025-12-28 18:14:59 +01:00
TW
a8f1ed97e0
Merge pull request #9243 from ThomasWaldmann/ci-borg-dir-exe-master
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
CI: faster with borg-dir/borg.exe, fixes #9236
2025-12-26 20:56:20 +01:00
Thomas Waldmann
d602cf23a5
CI: faster with borg-dir/borg.exe, fixes #9236
The single-file borg.exe needs unpacking each time it is invoked.
borg-dir/borg.exe is alread unpacked.

Also, macOS is slow when a "new" binary is first invoked, so
this should help there even more.
2025-12-26 20:22:52 +01:00
TW
3e5c3538e1
Merge pull request #9240 from ThomasWaldmann/fix-b20
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
Fix b20
2025-12-24 02:20:53 +01:00
Thomas Waldmann
ed6e5db168
remove mfusepym dependency from pyproject.toml, fixes #9239 2025-12-24 02:19:07 +01:00
Thomas Waldmann
e671234942
fix mismatch in xattr test, fixes #9238 2025-12-24 02:17:07 +01:00
TW
160f84d026
Merge pull request #9235 from ThomasWaldmann/rel200b20
Release 2.0.0b20
2025-12-24 01:51:58 +01:00
Thomas Waldmann
fef9d63111
pyinstaller missing module workaround 2025-12-23 18:53:15 +01:00
Thomas Waldmann
98aa125386
add requirements file for pyinstaller
make it easy to change pyinstaller version.
2025-12-23 18:52:22 +01:00
Thomas Waldmann
461f78b2b0
update release date 2025-12-23 18:01:59 +01:00
Thomas Waldmann
fcbf7f3572
build_usage build_man 2025-12-23 18:00:09 +01:00
TW
42ea1d056a
Merge pull request #9234 from ThomasWaldmann/update-changes-master
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
update changes (master)
2025-12-23 17:26:32 +01:00
Thomas Waldmann
f4a2ff13d2
update CHANGES 2025-12-23 16:47:31 +01:00
Thomas Waldmann
b003a9ffaf
development.lock.txt: upgrade Cython to latest release 2025-12-23 16:47:29 +01:00
TW
4a1d0ebe54
Merge pull request #9213 from ThomasWaldmann/mfusepy
integrate highlevel fuse lib mfusepy
2025-12-23 16:44:53 +01:00
Thomas Waldmann
661d2b6c5d
docs: mfusepy >= 3.1.0 is required 2025-12-23 16:13:50 +01:00
Thomas Waldmann
ee2fcefcb8
hlfuse: fix getxattr, raise ENOATTR 2025-12-23 16:13:49 +01:00
Thomas Waldmann
7278a1d5fc
ENOATTR import cleanups 2025-12-23 16:13:47 +01:00
Thomas Waldmann
c9ebeba933
make mypy happy 2025-12-23 16:13:46 +01:00
Thomas Waldmann
2e9ebe4d95
docs: add missing link definition for mfusepy 2025-12-23 16:13:45 +01:00
Thomas Waldmann
23bbc195e1
pyproject.toml: add comments to fuse options 2025-12-23 16:13:41 +01:00
Thomas Waldmann
0053bcb6b6
mfusepy: add alternative extra to install from project's master branch 2025-12-23 15:10:59 +01:00
Thomas Waldmann
7ccbb33f84
rename tox envs after fuse lib name
Also: on freebsd, run tox env py311-mfusepy
2025-12-20 19:47:36 +01:00
Thomas Waldmann
334f73df08
use hlfuse similar to llfuse, move import 2025-12-20 19:47:30 +01:00
Thomas Waldmann
cc18e3f171
rename fuse2 -> hlfuse
fuse2 was a bit misleading. it meant "our 2nd fuse implementation",
but could be misunderstood to refer to fuse v2.

hlfuse.py now means highlevel fuse, as opposed to the lowlevel fuse in fuse.py.
2025-12-20 19:46:29 +01:00
Thomas Waldmann
2e567d9785
fuse_impl.ENOATTR (import from borg.platform) 2025-12-20 19:46:04 +01:00
Thomas Waldmann
562bb27368
fix hardlink inode issue 2025-12-20 19:31:55 +01:00
Thomas Waldmann
7590d1eed4
add has_any_fuse flag 2025-12-20 19:31:54 +01:00
Thomas Waldmann
3e676e95c1
pytest report header: report llfuse/pyfuse3/mfusepy 2025-12-20 19:31:53 +01:00
Thomas Waldmann
43c7878a56
docs: update installation requirements and BORG_FUSE_IMPL about mfusepy 2025-12-20 19:31:51 +01:00
Thomas Waldmann
176dec80f3
integrate mount2_cmds_test into mount_cmds_test
Updated mount_cmds_test.py to work with both llfuse/pyfuse3 and mfusepy
by checking for either implementation in skip conditions.

mfusepy: 2 test fails due to hardlink implementation differences
2025-12-20 19:31:50 +01:00
Thomas Waldmann
ead93b6d12
integrate mount2/umount2 into mount/umount, use BORG_FUSE_IMPL 2025-12-20 19:31:49 +01:00
Thomas Waldmann
71416d76f4
fuse2: getattr: prefer fh lookup if possible 2025-12-20 19:31:47 +01:00
Thomas Waldmann
0aa7c16749
fuse2: improve comments 2025-12-20 19:31:46 +01:00
Thomas Waldmann
3393c0f2b7
fuse2: implement lazy children dict allocation for DirEntry 2025-12-20 19:31:45 +01:00
Thomas Waldmann
8eb676b047
fuse2: remove path from packed inodes to save memory 2025-12-20 19:31:43 +01:00
Thomas Waldmann
a842234843
fuse2: add __slots__ to DirEntry for memory optimization 2025-12-20 19:31:42 +01:00
Thomas Waldmann
72befa1bcf
fuse2: rename Node -> DirEntry, inode_count -> current_ino 2025-12-20 19:31:41 +01:00
Thomas Waldmann
9651b083df
Optimize fuse2 memory usage with centralized packed item storage 2025-12-20 19:31:39 +01:00
Thomas Waldmann
6632b1187a
fuse2: remove unused fuse_main 2025-12-20 19:31:38 +01:00
Thomas Waldmann
f545ebbf0d
fuse2: optimize/generalize debug and test logging 2025-12-20 19:31:37 +01:00
Thomas Waldmann
2d1772f919
fuse2: versions view + test 2025-12-20 19:31:35 +01:00
Thomas Waldmann
c21c42b1a9
mount2/umount2: mfusepy-based alternative FUSE fs implementation 2025-12-20 19:31:33 +01:00
TW
a0e250df0a
Merge pull request #9231 from ThomasWaldmann/enoattr
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
move ENOATTR to borg.platform
2025-12-20 19:30:07 +01:00
Thomas Waldmann
9ae6da88aa
import ENOATTR from borg.platform 2025-12-20 19:00:38 +01:00
Thomas Waldmann
663732c8bd
move ENOATTR definition to borg.platform.base
That also gets imported into borg.platform, so
it is easily available from there.
2025-12-20 18:55:28 +01:00
TW
42e645e6a2
Merge pull request #9229 from ThomasWaldmann/haiku-fixes
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.7) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
Haiku fixes
2025-12-17 22:16:57 +01:00
Thomas Waldmann
dcdc91c1cc
improve fs_test 2025-12-17 18:59:36 +01:00
Thomas Waldmann
6be6b1d942
test_with_lock: skip on Haiku OS 2025-12-17 18:55:43 +01:00
Thomas Waldmann
4df1a534de
tests: refactor expected item_count 2025-12-17 18:44:42 +01:00