summaryrefslogtreecommitdiff
path: root/doc/design/assistant/blog/day_166__a_short_long_day.mdwn
blob: 5f03fd1cf50708c868b8eb192241d13f6410f92e (plain)
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
I was up at the crack of dawn wrestling 100 pound batteries around for 3
hours and rewiring most of my battery bank, so today is a partial day...
but a day with power, which is always nice.

Did some design work on finally making transfers of files from direct mode
repositories safe, even if a file is modified as it's being uploaded.
This seems easily doable for special remotes; git to git repository
transfers are harder, but I think I see how to do it without breaking
backwards compatability. 

(An unresolved problem is that a temp file would be left behind when a
transfer failed due to a file being changed. What would really be nice to
do is to use that temp file as the rsync basis when transferring the new
version of a file. Although this really goes beyond direct mode, and into
[[deltas]] territory.)

Made fsck work better in direct mode repositories. While it's expected for
files to change at any time in direct mode, and so fsck cannot complain
every time there's a checksum mismatch, it is possible for it to detect
when a file does not *seem* to have changed, then check its checksum,
and so detect disk corruption or other data problems.

Also dealt with several bug reports. One really weird one involves `git
cat-file` failing due to some kind of gpg signed data in the git-annex
branch. I don't understand that at all yet.