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]

Reply via email to