lfs: avoid quadratic performance in processing server responses
This is also adapted from the Facebook repo[1]. Unlike there, we were already
reading the download stream in chunks and immediately writing it to disk, so we
basically avoided the problem on download. There shouldn't be a lot of data to
read on upload, but it's better to get rid of this pattern.
[1] https://github.com/facebookexperimental/eden/commit/
82df66ffe97e21f3ee73dfec093c87500fc1f6a7
Differential Revision: https://phab.mercurial-scm.org/D7882
Just exercise debugindexdot
Create a short file history including a merge.
$ hg init t
$ cd t
$ echo a > a
$ hg ci -qAm t1 -d '0 0'
$ echo a >> a
$ hg ci -m t2 -d '1 0'
$ hg up -qC 0
$ echo b >> a
$ hg ci -m t3 -d '2 0'
created new head
$ HGMERGE=true hg merge -q
$ hg ci -m merge -d '3 0'
$ hg debugindexdot -c
digraph G {
-1 -> 0
0 -> 1
0 -> 2
2 -> 3
1 -> 3
}
$ hg debugindexdot -m
digraph G {
-1 -> 0
0 -> 1
0 -> 2
2 -> 3
1 -> 3
}
$ hg debugindexdot a
digraph G {
-1 -> 0
0 -> 1
0 -> 2
2 -> 3
1 -> 3
}
$ cd ..