Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2021-01-11 13:47:04 -04:00
commit af88d55686
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
4 changed files with 58 additions and 0 deletions

View file

@ -0,0 +1,28 @@
### Please describe the problem.
A `git-annex get` fails with `createDirectory: does not exist (No such file or directory)` on MacOSX.
### What steps will reproduce the problem?
I can trigger the condition as part of a CI run of the DataLad test suite. Here is an example
run that shows the failure: https://ci.appveyor.com/project/mih/datalad/build/job/k5u263619e6erk8t
However, the exact conditions required to trigger the issue are not yet known (c.f. https://github.com/datalad/datalad/issues/5291).
A protocol of an exploration of this issue with debug output is here: https://github.com/datalad/datalad/issues/5301#issuecomment-757467813
In this end I can trigger the error with a `mkdir` performed manually in the shell using the path reported by git-annex (e.g. `../../../../../../../var/folders/5s/g225f6nd6jl4g8tshbh1ltk40000gn/T/datalad_temp_tree_test_basic_scenariodi3ady04/.git/annex/`). But a `mkdir` is successful using a "normalized variant of the path
pointing to the same physical directory (e.g. `/var/folders/5s/g225f6nd6jl4g8tshbh1ltk40000gn/T/datalad_temp_tree_test_basic_scenariodi3ady04/.git/annex`).
I do not understand enough of this platform to understand what is happening, but it seems that some of these folders actually live in `/private/var`, despite being accessible via `/var`, but I do not see how `mkdir` would error on a relative path and succeed on an absolute one.
### What version of git-annex are you using? On what operating system?
8.20201129 on darwin/19.6.0 10.15.7/x86_64
More system details are here https://ci.appveyor.com/project/mih/datalad/build/job/k5u263619e6erk8t#L422
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
git-annex is critical infrastructure for me. There is no day without it. Thx much!

View file

@ -0,0 +1,9 @@
[[!comment format=mdwn
username="michael.hanke@c60e12358aa3fc6060531bdead1f530ac4d582ec"
nickname="michael.hanke"
avatar="http://cdn.libravatar.org/avatar/f881df265a423e4f24eff27c623148fd"
subject="Specific to repository location in /private"
date="2021-01-10T16:10:42Z"
content="""
The issue goes away, when I place the directory in which repositories are created into the user's HOME directory (instead of `/tmp`, which maps to some place under `/private`).
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="andrew"
avatar="http://cdn.libravatar.org/avatar/acc0ece1eedf07dd9631e7d7d343c435"
subject="checkout borg remote"
date="2021-01-09T15:25:05Z"
content="""
git and git-annex do not store a lot of filesystem metadata. [git-annex metadata](https://git-annex.branchable.com/metadata/) actually stores metadata attached to the file key, which means the metadata is attached to the file content not the file path. Filesystems attach metadata to the file location (within a file tree), so if you have two files with the same content but different permissions in different folders you couldn't represent that information using git-annex metadata.
You might checkout using the `git-annex` [borg special remote](https://git-annex.branchable.com/special_remotes/borg/). You could backup your whole linux system to a borg repository (using standard borg commands). Then you can add that borg repo as a git-annex borg special remote so you could access the files from a git-annex perspective.
"""]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="AlbertZeyer"
avatar="http://cdn.libravatar.org/avatar/b37d71961a6a5abf9b7184ed77b5a941"
subject="comment 2"
date="2021-01-09T20:14:21Z"
content="""
Yes, I know, but I was basically asking whether anyone has developed an extension already to store such meta data (per path, not content), or done sth similar. Or maybe you could also interpret it as a feature request. Or basically I was just curious whether it makes sense to add some feature like that. I guess this would not be too complicated. So I'm mainly curious whether there are other problems which I don't see right now, or if this is a good or bad idea in general.
Using the Borg special remote sounds like an interesting workaround.
"""]]