File: day_14__gcrypt_refinements_and_OOM_fixes.mdwn

package info (click to toggle)
git-annex 5.20141125%2Bdeb8u1
  • links: PTS
  • area: main
  • in suites: jessie
  • size: 37,832 kB
  • sloc: haskell: 42,603; sh: 1,080; ansic: 498; makefile: 316; perl: 125
file content (26 lines) | stat: -rw-r--r-- 1,366 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Spent a few hours improving gcrypt in some minor ways, including adding a
--check option that the assistant can use to find out if a given repo is
encrypted with dgit, and also tell if the necessary gpg key is available to
decrypt it. Also merged in a fix to support subkeys, developed by a
git-annex user who is the first person I've heard from who is using gcrypt.
I don't want to maintain gcrypt, so I am glad its author has shown up
again today.

Got mostly caught up on backlog. The main bug I was able to track down
today is git-annex using a lot of memory in certian repositories. This
turns out to have happened when a really large file was committed right
intoo to the git repository (by mistake or on purpose). Some parts of
git-annex buffer file contents in memory while trying to work out if
they're git-annex keys. Fixed by making it first check if a file in git is
marked as a symlink. Which was really hard to do!

At least 4 people ran into this bug, which makes me suspect that lots of
people are messing up when using direct mode (probably due to not reading
the documentation, or having `git commit -a` hardwired into their fingers,
and forcing git to commit large files into their repos, rather than having
git-annex manage them. Implementing [[todo/direct_mode_guard]] seems more
urgent now.

----

Today's work was sponsored by Amitai Schlair.