From c50cc966a9365a5056e63c0087751d9636acb0ab Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 17 Oct 2017 19:07:38 -0400 Subject: devblog --- doc/devblog/day_476__third_time_lucky.mdwn | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 doc/devblog/day_476__third_time_lucky.mdwn diff --git a/doc/devblog/day_476__third_time_lucky.mdwn b/doc/devblog/day_476__third_time_lucky.mdwn new file mode 100644 index 000000000..1a07b1b03 --- /dev/null +++ b/doc/devblog/day_476__third_time_lucky.mdwn @@ -0,0 +1,29 @@ +There's been a lot of little bug fixes and improvements going on +in the ... oops ... almost a month since I last updated the devblog. +Including a release of git-annex on the 3rd, and another release +that's almost ready to go now. Just have not had the energy to blog about +it all. + +Anyway, today I spent way too long fixing a minor wart. When multiple +annexed files have the same content, transferring them with concurrency +enabled could make it complain that "transfer already in progress". +Which is better than transferring the same content twice, but it did make +there seem to be a failure. + +I implemented two and a half different fixes for that. The first half a fix +was too intrusive and I couldn't get it to work. Then came a fix that +avoided the problem pretty cleanly, except it actually led to worse +behavior, because it would sometimes transfer the same content twice, and +needed non-obvious tweaks here and there to prevent that. Finally, around +an hour ago, having actually given up unhappily for the day, I realized a +much better way to fix it, that was minimally intrusive and works +perfectly. + +So it goes.. I'd say "concurrency is hard", but it's more that big complex +code bases can make things that seem simple not really that simple. +Yesterday I had a much easier time fixing a related problem with `git annex +add -J`, which was really a lot hairier (involving a race condition and +a lack of atomicity), but didn't cut across the code base in the same broad +way. + +Today's work was supported by the NSF-funded DataLad project. -- cgit v1.2.3