summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-04-02 17:09:03 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-04-02 17:09:03 -0400
commit7d51f4bcc82661753d1dcd78df3dc811ad3ff813 (patch)
tree78746b1629f88789e1ae0f097e337fa5e191d1be
parentf4146b9c7650d93b7ad91e934bdd777e59169101 (diff)
blog for the day
-rw-r--r--doc/design/assistant/blog/day_227__bigfixing_all_day_today.mdwn21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_227__bigfixing_all_day_today.mdwn b/doc/design/assistant/blog/day_227__bigfixing_all_day_today.mdwn
new file mode 100644
index 000000000..74e9fd82f
--- /dev/null
+++ b/doc/design/assistant/blog/day_227__bigfixing_all_day_today.mdwn
@@ -0,0 +1,21 @@
+The [[xmpp screencast|videos/git-annex_assistant_remote_sharing]]
+is at long last done!
+
+----
+
+Fixed a bug that could cause the assistant to unstage files
+from git sometimes. This happened because of a bad optimisation; adding a
+file when it's already present and unchanged was optimised to do nothing.
+But if the file had just been removed, and was put back, this resulted
+in the removal being staged, and the add not being staged. Ugly bug,
+although the assistant's daily sanity check automatically restaged the
+files.
+
+Underlying that bug was a more important problem: git-annex does not always
+update working tree files atomically. So a crash at just the wrong instant
+could cause a file to be deleted from the working tree. I fixed that too;
+all changes to files in the working tree should now be staged in a temp
+file, which is renamed into place atomically.
+
+Also made a bunch of improvements to the dashboard's transfer display, and
+to the handling of the underlying transfer queue.