summaryrefslogtreecommitdiff
path: root/doc/todo/optimise_git-annex_merge.mdwn
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-11-12 14:24:14 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-11-12 14:24:14 -0400
commit6e946b9a39f8e5ba55651accbc1307e8cce5c4e2 (patch)
tree652a36f1bb9f7e3c7b1d969a7a177774e74c25b8 /doc/todo/optimise_git-annex_merge.mdwn
parent30f1aeb13c6627e8264f222a799b2702c5f13714 (diff)
add
Diffstat (limited to 'doc/todo/optimise_git-annex_merge.mdwn')
-rw-r--r--doc/todo/optimise_git-annex_merge.mdwn13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/todo/optimise_git-annex_merge.mdwn b/doc/todo/optimise_git-annex_merge.mdwn
new file mode 100644
index 000000000..a2cdfb15f
--- /dev/null
+++ b/doc/todo/optimise_git-annex_merge.mdwn
@@ -0,0 +1,13 @@
+Typically `git-annex merge` is fast, but it could still be sped up.
+
+`git-annex merge` runs `git-hash-object` once per file that needs to be
+merged. Elsewhere in git-annex, `git-hash-object` is used in a faster mode,
+reading files from disk via `--stdin-paths`. But here, the data is not
+in raw files on disk, and I doubt writing them is the best approach.
+Instead, I'd like a way to stream multiple objects into git using stdin.
+Sometime, should look at either extending git-hash-object to support that,
+or possibly look at using git-fast-import instead.
+
+`git-annex merge` also runs `git show` once per file that needs to be
+merged. This could be reduced to a single call to `git-cat-file --batch`,
+There is already a Git.CatFile library that can do this easily. --[[Joey]]