Package: git-annex Version: 4.20131002 Severity: wishlist Hello, and thanks yet again for git-annex.
Since I've seen it for the first time, I have this use case: - I store my large, full-resolution photos in the annex. - I move them to the large USB hard drive, that's mostly offline. - But I'd still like to keep scaled-down versions on my laptop to show people when I travel, and on my space-limited server that publishes galleries online. - If I'm looking at a scaled-down photo and I feel like working on it, I can git-annex get it and git-annex will know where the full-res version is. We talked about it in the past, but could not figure out a way to do it. Now, thanks to a chat with Elena Valhalla, there is a new proposal. The idea is: when deleting a file from the annex, if it matches some rule the file is not just deleted, but replaced with a symlink pointing to .git/annex/degraded/<shasum>. Like so (SHAsum clipped for brevity): A photo links to a file in the annex: ~/photos/2013-11-01.jpg -> .git/annex/objects/9M/zz/SHA256-s533603212--ffd0fe…/SHA256-s533603212--ffd0fe… The file in the annex, when not available, currently just gets deleted: .git/annex/objects/9M/zz/SHA256-s533603212--ffd0fe…/SHA256-s533603212--ffd0fe… -> (missing) When instead the file is not available but a degraded version is, the file in the annex can be replaced with a symlink: .git/annex/objects/9M/zz/SHA256-s533603212--ffd0fe…/SHA256-s533603212--ffd0fe… -> ../../../../reduced/9M/zz/SHA256-s533603212--ffd0fe…/SHA256-s533603212--ffd0fe… pointing to whatever is convenient to have as a file structure for this. This way the git repo is unaffected, and git-annex still has a way to see that the file is not really available here, because it can detect that what's in the annex really is just a symlink pointing to the degraded area. Ciao, Enrico -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.10-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages git-annex depends on: ii curl 7.33.0-1 ii git 1:1.8.4~rc3-1 ii libc6 2.17-93 ii libffi6 3.0.13-4 ii libgmp10 2:5.1.2+dfsg-3 ii libgnutls26 2.12.23-8 ii libgsasl7 1.8.0-2 ii libicu48 4.8.1.1-13 ii libidn11 1.28-1 ii libxml2 2.9.1+dfsg1-3 ii libyaml-0-2 0.1.4-2 ii openssh-client 1:6.2p2-6 ii rsync 3.0.9-4 ii wget 1.14-4 ii zlib1g 1:1.2.8.dfsg-1 Versions of packages git-annex recommends: ii bind9-host 1:9.8.4.dfsg.P1-6+nmu3 ii git-remote-gcrypt 0.20130908-5 ii gnupg 1.4.15-1.1 ii lsof 4.86+dfsg-1 ii quvi 0.4.2-1 ii ssh-askpass 1:1.2.4.1-9 Versions of packages git-annex suggests: pn bup <none> ii graphviz 2.26.3-15+b1 ii libnss-mdns 0.10-3.2 -- no debconf information -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

