initial report on encfs and per-repository ssh caching
This commit is contained in:
parent
ccecde3662
commit
c47ba6e516
1 changed files with 60 additions and 0 deletions
|
@ -0,0 +1,60 @@
|
|||
reposting since initial post seems has failed with odd https://www.oneukrainian.com/tmp/annex-blew-1.png .
|
||||
|
||||
After spending some time in troubleshooting the situation that `git-annex` for some reason claims that `origin` remote does not support git-annex, I have ran into [11 year old discussion](https://git-annex.branchable.com/forum/ssh__95__exchange__95__identification__58___read__58___Connection_reset_by_peer/#comment-1776b4d3b175c77cdb44fc8656e3352c) which boils down to
|
||||
|
||||
> It would be a good idea to `git config annex.sshcaching` false in repositories stored on encfs.
|
||||
|
||||
As AFAIK encfs is generally working ok (seems to test ok with bleeding edge [ref](https://github.com/datalad/git-annex/issues/216)), and overall if there is something wrong, it better be fixed and not "avoided", I think that git-annex should either inform user about necessity to not do internal caching within the same repository (e.g. to have it configured to be shared somewhere under ~/.cache/` instead or a like) if file system does not support the ssh caching, or even somehow automagically handle the case, but it should not mislead in its reporting stating that remote does not support git-annex whenever it does.
|
||||
|
||||
With this minimalistic reproducer where origin on a regular filesystem and a clone is under `encfs`, we receive a misleading error:
|
||||
|
||||
<details>
|
||||
<summary>reproducer</summary>
|
||||
|
||||
```
|
||||
#!/bin/bash
|
||||
export PS4='> '
|
||||
set -x
|
||||
set -eu
|
||||
|
||||
cd "$(mktemp -d ${TMPDIR:-/tmp}/dl-XXXXXXX)"
|
||||
|
||||
topd=$PWD
|
||||
mkdir -p denc{r,}; encfs --standard --extpass="echo 123" $PWD/denc{r,}
|
||||
|
||||
cleanup () {
|
||||
# to possible kill/troubleshoot
|
||||
if ! fusermount -u $topd; then
|
||||
lsof $topd/denc
|
||||
echo "ERROR: failed to unmount"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
trap cleanup SIGINT SIGHUP SIGABRT EXIT
|
||||
|
||||
|
||||
mkdir d
|
||||
(cd d; git init; git annex init; echo 1 > 1.dat; git annex add 1.dat; git commit -m 1 1.dat)
|
||||
|
||||
echo "cloning locally and ssh works ok, testing"
|
||||
git clone localhost:$topd/d d-clone
|
||||
git -C d-clone annex wanted origin
|
||||
|
||||
echo "but would not be happy under encfs with misleading error:"
|
||||
cd denc
|
||||
git clone localhost:$topd/d d-clone
|
||||
git -C d-clone annex wanted origin
|
||||
|
||||
```
|
||||
</details>
|
||||
|
||||
|
||||
```
|
||||
> git -C d-clone annex wanted origin
|
||||
Unable to parse git config from origin
|
||||
Remote origin does not have git-annex installed; setting annex-ignore
|
||||
This could be a problem with the git-annex installation on the remote. Please make sure that git-annex-shell is available in PATH when you ssh into the remote. Once you have fixed the git-annex installation, run: git annex enableremote origin
|
||||
git-annex: cannot determine uuid for origin (perhaps you need to run "git annex sync"?)
|
||||
```
|
||||
|
||||
which is simply due to the fact that git-annex does not only unable to parse, it is unable to connect. But if so, IMHO ideally it should avoid claiming anything about git annex installation there.
|
Loading…
Add table
Add a link
Reference in a new issue