diff options
author | Joey Hess <joey@kitenet.net> | 2011-06-20 19:44:45 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-06-20 21:37:18 -0400 |
commit | c835166a7cebfa44d232bbed7c5b5e22bdfeb2bd (patch) | |
tree | 2c27b9abcd52f49a2ce31568a75bf86ffc0e1e2c /.gitignore | |
parent | 91e50782ce6d634ffc8c2f809c80b6d4ff94a5ca (diff) |
add git-union-merge
This is a new git subcommand, that does a generic union merge operation
between two refs, storing the result in a branch. It operates efficiently
without touching the working tree. It does need to write out a temporary
index file, and may need to write out some other temp files as well.
This could be useful for anything that stores data in a branch,
and needs to merge changes into that branch without actually checking the
branch out. Since conflict handling can't be done without a working copy,
the merge type is always a union merge, which is fine for data stored in
log format (as git-annex does), or in non-conflicting files
(as pristine-tar does).
This probably belongs in git proper, but it will live in git-annex for now.
---
Plan is to move .git-annex/ to a git-annex branch, and use git-union-merge
to handle merging changes when pulling from remotes.
Some preliminary benchmarking using real .git-annex/ data indicates
that it's quite fast, except for the "git add" call, which is as slow
as "git add" tends to be with a big index.
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index b73167c92..9a4bc80de 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,10 @@ configure SysConfig.hs git-annex git-annex-shell +git-union-merge git-annex.1 git-annex-shell.1 +git-union-merge.1 doc/.ikiwiki html *.tix |