File: day_101__old_mistakes.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 (23 lines) | stat: -rw-r--r-- 1,194 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
In order to remove some hackishness in `git annex sync --content`, I
finally fixed a bad design decision I made back at the very beginning
(before I really knew haskell) when I built the command seek code, which
had led to a kind of inversion of control. This took most of a night, but
it made a lot of code in git-annex clearer, and it makes the command
seeking code much more flexible in what it can do. Some of the oldest, and
worst code in git-annex was removed in the process.

Also, I've been reworking the numcopies configuration, to allow for a 
[[todo/preferred_content_numcopies_check]]. That will let the assistant,
as well as `git annex sync --content` proactively make copies when
needed in order to satisfy numcopies. 

As part of this, `git config annex.numcopies` is deprecated, and there's a
new `git annex numcopies N` command that sets the numcopies value that will
be used by any clone of a repository.

I got the preferred content checking of numcopies working too. However,
I am unsure if checking for per-file .gitattributes annex.numcopies
settings will make preferred content expressions be, so I have left
that out for now.

Today's work was sponsored by Josh Taylor.