summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-06-09 20:14:52 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-06-09 20:16:01 -0400
commitf4308b107242781b5de98804eb68a9657b348c49 (patch)
treef6431c467f95eff81b92633b19b7595bb6b3928e
parent2ca723a7c1c1130465b21d7db23c137976f58f6f (diff)
devblog
-rw-r--r--debian/changelog6
-rw-r--r--doc/devblog/day_181__tricky_merge.mdwn8
2 files changed, 9 insertions, 5 deletions
diff --git a/debian/changelog b/debian/changelog
index 64225ea36..4d0b91950 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,11 +3,7 @@ git-annex (5.20140607) UNRELEASED; urgency=medium
* Ignore setsid failures.
* Avoid leaving behind .tmp files when failing in some cases, including
importing files to a disk that is full.
- * direct mode: Avoid committing a merge until after the work tree is
- updated. This avoids an interrupted merge leaving the work tree out
- of sync with the last commit, which could result in the wrong thing
- being committed later, and files appearing to get deleted.
- (They could be recovered by reverting the bad commit.)
+ * Avoid bad commits after interrupted direct mode sync (or merge).
-- Joey Hess <joeyh@debian.org> Mon, 09 Jun 2014 14:44:09 -0400
diff --git a/doc/devblog/day_181__tricky_merge.mdwn b/doc/devblog/day_181__tricky_merge.mdwn
new file mode 100644
index 000000000..c6bcaf8d4
--- /dev/null
+++ b/doc/devblog/day_181__tricky_merge.mdwn
@@ -0,0 +1,8 @@
+Spent most of today improving behavior when a sync or merge is
+interrupted in direct mode. It was possible for an interrupt at the wrong
+time to leave the merge committed, but the work tree not yet updated. And
+then the next sync would make a commit that reverted the merged changes!
+
+To fix this I had to avoid making any merge commit or indeed updating the
+index until after the work tree is updated. It looked intractable for a
+while; I'm still surprised I eventually succeeded.