diff options
author | Joey Hess <joey@kitenet.net> | 2011-11-12 14:24:14 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-11-12 14:24:14 -0400 |
commit | 6e946b9a39f8e5ba55651accbc1307e8cce5c4e2 (patch) | |
tree | 652a36f1bb9f7e3c7b1d969a7a177774e74c25b8 /doc/todo/optimise_git-annex_merge.mdwn | |
parent | 30f1aeb13c6627e8264f222a799b2702c5f13714 (diff) |
add
Diffstat (limited to 'doc/todo/optimise_git-annex_merge.mdwn')
-rw-r--r-- | doc/todo/optimise_git-annex_merge.mdwn | 13 |
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]] |