summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-11-12 15:15:57 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-11-12 15:15:57 -0400
commite9bfa8eaed3ff59a4c0bc8d4d677bc493177807c (patch)
treea15071e2cf3c25e35247940dcb33ca2dbdcd1fe1 /doc
parent897bf938f687c1bd9fcfa0097b65708cf0891041 (diff)
avoid unnecessary auto-merge when only changing a file in the branch.
Avoids doing auto-merging in commands that don't need fully current information from the git-annex branch. In particular, git annex add no longer needs to auto-merge. Affected commands: Anything that doesn't look up data from the branch, but does write a change to it. It might seem counterintuitive that we can change a value without first making sure we have the current value. This optimisation works because these two sequences are equivilant: 1. pull from remote 2. union merge 3. read file from branch 4. modify file and write to branch vs. 1. read file from branch 2. modify file and write to branch 3. pull from remote 4. union merge After either sequence, the git-annex branch contains the same logical content for the modified file. (Possibly with lines in a different order or additional old lines of course).
Diffstat (limited to 'doc')
-rw-r--r--doc/todo/avoid_unnecessary_union_merges.mdwn2
1 files changed, 2 insertions, 0 deletions
diff --git a/doc/todo/avoid_unnecessary_union_merges.mdwn b/doc/todo/avoid_unnecessary_union_merges.mdwn
index 67aa28579..5cd4b6437 100644
--- a/doc/todo/avoid_unnecessary_union_merges.mdwn
+++ b/doc/todo/avoid_unnecessary_union_merges.mdwn
@@ -16,3 +16,5 @@ occurs before it has done anything, so ctrl-c should not be a problem
there.
This is a delicate change, I need to take care.. --[[Joey]]
+
+> [[done]] (assuming I didn't miss any cases where this is not safe!) --[[Joey]]