Comments (6)
this is slightly related to #14 (as in "just storing 1 binary stream is not enough").
from borg.
IMO, these are worthwhile feature additions. At the risk of sounding like a broken record (see #1 (comment)), the prospect of expanding borg to handle these FS-specific capabilities really screams (at me, at least) for a modularised approach. At the core, borg is a deduplicated repo of binary blobs. Wrapping around this core is:
- data structures for separating data pushed to the repo into archives
- a mechanism for decontstructing and reconstructing those blobs to/from 'files'
- a mechanism for storing metadata about those 'files', for the various purposes of deconstructing and reconstructing that metadata, to speed up the detection of changed file data between backup runs and to speedily traverse the 'files' stored in that archive
The first point is filesystem agnostic. The latter two points require knowledge about the FS. I submit that these latter two points are excellent candidates for modularisation. Doing so should also lead to a more stable binary format for the repo, as it is agnostic concerning FS-specific data. Modularisation will also allow for a systematic approach to creation of FS-specific modules to handle FS's that borg currently does not support and new FS's that will come along in future.
from borg.
I am currently testing borg 1.0.6 with Mac OS X and data files with resource forks. Backup and restore of these files is working without a problem.
At least since Mac OS X 10.6 the resource fork can be accessed by using xattr (and by using posix api by appending /..namedfork/rsrc). borg uses the xattr api. Everything is working as expected, so you can maybe close this issue...
from borg.
That's great, thanks for testing :)
Q: Document that this works? -> here would probably be the correct place
from borg.
@enkore it is already documented in the footnote of the features table (installation.rst):
.. [#xattr] extended attributes; key-value pairs attached to a file, mainly used by the OS.
This includes resource forks on Mac OS X.
from borg.
Looks like I forgot about this ticket when doing it.
Nothing more to do here; except keeping that table updated with any changes of course...
from borg.
Related Issues (20)
- borg2: move test suite, rename test files?
- repository list 'command_line' fails, 1.1.16 HOT 2
- Borg "fat" binaries extract "many" files before running: should TMPDIR be a tmpfs? HOT 3
- Progress of `Remote: checking segment file /whatever/data/17/17078...` HOT 2
- Disable checkpoints, even on interrupted backups HOT 3
- Attempting to Backup Results in MemoryError HOT 1
- bad / corrupted key contents HOT 28
- `borg with-lock` raises `FileNotFoundError` HOT 11
- oom-kill HOT 4
- `KeyError` and `FileNotFoundError` with `borg prune` HOT 7
- What would it take to make an "overlapping disk usage" analyzer for borg archives? HOT 2
- 1.4.0a1 formatting error with binaries and Command Error HOT 2
- borg not accepting passphrase (keyfile blake2) HOT 9
- add another hash to the borg key? HOT 1
- Exception: Could not find xxhash lib/headers, please set BORG_LIBXXHASH_PREFIX or ensure libxxhash.pc is in PKG_CONFIG_PATH. HOT 1
- Switch to automation of asciinema creation with autocast
- Request: add option to control time delta between two --progress outputs HOT 3
- `**/` exclude pattern excludes only from subdirs, not from main backed-up dir HOT 5
- Storing [BORG_CACHE_DIR|BORG_SECURITY_DIR] files as a non-root user while being able to backup files owned by root? HOT 4
- Issues with creating a repo HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from borg.