add
This commit is contained in:
parent
6e946b9a39
commit
fe4ad93e4a
1 changed files with 18 additions and 0 deletions
18
doc/todo/avoid_unnecessary_union_merges.mdwn
Normal file
18
doc/todo/avoid_unnecessary_union_merges.mdwn
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
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]]
|
Loading…
Reference in a new issue