19 lines
917 B
Text
19 lines
917 B
Text
|
Some commands cause a union merge unnecessarily. For example, `git annex add`
|
||
|
modifies the location log, which first requires reading the current log (if
|
||
|
any), which triggers a merge.
|
||
|
|
||
|
Would be good to avoid these unnecessary union merges. First because it's
|
||
|
faster and second because it avoids a possible delay when a user might
|
||
|
ctrl-c and leave the repo in an inconsistent state. In the case of an add,
|
||
|
the file will be in the annex, but no location log will exist for it (fsck
|
||
|
fixes that).
|
||
|
|
||
|
It may be that all that's needed is to modify Annex.Branch.change
|
||
|
to read the current value, without merging. Then commands like `get`, that
|
||
|
query the branch, will still cause merges, and commands like `add` that
|
||
|
only modify it, will not. Note that for a command like `get`, the merge
|
||
|
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]]
|