diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-10-17 19:07:38 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-10-17 19:07:38 -0400 |
commit | c50cc966a9365a5056e63c0087751d9636acb0ab (patch) | |
tree | de84063715ea7fd2f11025ba647b467a111dfa47 | |
parent | 2d31b1e209f0dd1787f2ff9fac0e55f9e1216754 (diff) |
devblog
-rw-r--r-- | doc/devblog/day_476__third_time_lucky.mdwn | 29 |
1 files changed, 29 insertions, 0 deletions
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. |