Recent comments posted to this site:
"Each subdirectory has the name of a key in one of the key-value backends. The file inside also has the name of the key." -- is it necessary for the file inside to also have the name of the key? Repeating the already long key name leads to very long symlink targets. Could the file inside just be 'f.txt' (or whatever the extension is)?
Also, the terms "key" and "name of the key" are used in various places; are these the same thing?
I'm running Ubuntu:
Distributor ID: Ubuntu │
Description: Ubuntu 16.04.5 LTS │
Release: 16.04 │
Codename: xenial
Installed git annex with: "apt-get install git-annex".
And here is the my "git-annex version":
git-annex version: 5.20151208-1build1 │
build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus Des│
ktopNotify XMPP DNS Feeds Quvi TDFA TorrentParser Database │
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256│
E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 S│
KEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL │
remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar│
hook external
When i'm trying to "git annex init --version=6" it says: "Usage: git-annex init [DESC]".
Meaning v5 git annex does not support "--version" option for "init" command.
If i'm running "git annex upgrade", it says: "upgrade . ok".
But then "git annex version" shows v5 again.
Is it possible to upgrade from v5 to v6 currently ?
Am i doing anything wrong ?
When a push would result in a non-fast-forward merge, git-annex-sync currently fails. Maybe instead, pull and retry pushing? This happens in the context of several processes trying to push to the same git-annex repo.
Also, the docs mention synced/master, but it's synced/current-branch.
@andrew while it might be possible in theory to set up a rsync special remote that's usable without connecting to the rsync server yet, there are other types of special remotes that do need to connect to the server. S3 comes to mind; it needs to either create a bucket or check if an existing bucket is already being used as a git-annex remote.
So, I don't think this can be supported generally across all special remote implementations. We could try to support it for specific ones like rsync. I don't actually see anywhere in the code for the rsync special remote where initremote will connect to the remote server though.
@Ilya, indeed, this page is talking about filesystem metadata. I've updated it for clarity.
There is not currently a way to switch backend based on file size, although you can use annex.largefiles to make it check eg smaller files directly into git rather than annexing them.
@Ilya, it seems to me you could just configure your localhost webserver to listen on one of the other localnet addresses (eg 127.0.0.2), and only serve up the "safe" files on that address. Then whitelist that address in git-annex.
That seems better than adding user-configured regexps to a security path. (Worth noting that the example regexp you gave also matches port 808, probably by accident! Regexps and security are often not the best combination.)
Also, I don't think it would be possible to implement anything that looks at the whole url in the restricted Http Manager, since the http-client library's interface does not provide the path being requested to the hook that is built on.
It seems that *E backends ignore file extensions longer than four chars: https://git-annex.branchable.com/bugs/file_extensions_of624_chars_ignored_by42E_backends/ Is there some reason for doing it this way?