Recent comments posted to this site:

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?

Comment by Ilya_Shlyakhter Wed Sep 19 16:50:05 2018

"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?

Comment by Ilya_Shlyakhter Wed Sep 19 16:07:44 2018
What exacly is the difference between SETURIPRESENT and SETURLPRESENT?
Comment by Ilya_Shlyakhter Wed Sep 19 11:01:31 2018
After doing rmurl to remove the last URL at which a file is available, 'git annex whereis filename' still shows 'web' as having one of the copies. Bug?
Comment by Ilya_Shlyakhter Wed Sep 19 03:40:05 2018
git annex move seems to be quite slow if many small files have to be transferred. I think the main issue is that for each file a new TCP connection is opened. In this case reusing the TCP connection could significantly speed up the transfers. Two questions about this. a) Am I just doing something wrong? (I don't want to use -J because the remote is cluster and -J connects to different servers.) b) Is there an efficient method to write my own mover for the files in question? Basically "git annex find [...] --json" gives me all the files in question, so I know what to move. But after copying them to the remote, how do I tell git annex that they are there? Does it make sense to use git annex reinject?
Comment by mario Mon Sep 17 12:16:08 2018

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 ?

Comment by seregynp Sat Sep 15 10:20:58 2018

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.

Comment by Ilya_Shlyakhter Wed Sep 12 17:56:40 2018

@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.

Comment by joey Tue Sep 11 17:31:53 2018

@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.

Comment by joey Tue Sep 11 16:52:20 2018

@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.

Comment by joey Tue Sep 11 16:39:14 2018