Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 14:03:31 -0700] rev 38910
changegroup: inline _packellipsischangegroup
It now does nothing special. The logic is simple enough to inline
in the 2 callers in narrow that need it.
The changegroup generation APIs could probably be a bit simpler.
But that's for another time.
Differential Revision: https://phab.mercurial-scm.org/D4092
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 13:43:55 -0700] rev 38909
changegroup: move fullnodes into cgpacker
And with this change, the narrow packer no longer defines
any addition attributes on packer instances!
Differential Revision: https://phab.mercurial-scm.org/D4091
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 14:00:18 -0700] rev 38908
changegroup: specify ellipses mode explicitly
Currently, code throughout changegroup relies on the presence
of self._full_nodes to enable ellipses mode. This is a very tenuous
check. And the check may be wrong once we move _full_nodes into
cgpacker.
Let's capture the enabling of ellipses mode explicitly as a constructor
argument and as an instance variable.
We could probably derive ellipses mode by presence of other
variables. But for now, this explicit approach seems simplest
since it is most compatible with existing code.
Differential Revision: https://phab.mercurial-scm.org/D4090
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 13:15:28 -0700] rev 38907
changegroup: pass ellipsis roots into cgpacker constructor
And rename the internal variable to conform with naming conventions.
Differential Revision: https://phab.mercurial-scm.org/D4089
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 13:11:13 -0700] rev 38906
changegroup: move revision maps to cgpacker
And remove the underscores so the variables conform to our
naming convention.
The logic in _close() should be the only thing warranting scrutiny
during review.
Differential Revision: https://phab.mercurial-scm.org/D4088
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 13:01:53 -0700] rev 38905
changegroup: move changelogdone into cgpacker
Looking at what it is used for, it feels like there is a better
way to implement all this. So recording a TODO to track that.
Differential Revision: https://phab.mercurial-scm.org/D4087
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 12:57:11 -0700] rev 38904
changegroup: declare shallow flag in constructor
Thus begins the process of better formalizing ellipses and shallow
changegroup generation mode so it is tracked by cgpacker at
construction time instead of bolted on after the fact by a
wrapper function.
Differential Revision: https://phab.mercurial-scm.org/D4086
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 12:47:15 -0700] rev 38903
changegroup: make some packer attributes private
These methods and attributes are low level and should not be
called or outside outside of instances. Indicate as such through
naming.
Differential Revision: https://phab.mercurial-scm.org/D4085
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 10:35:10 -0700] rev 38902
changegroup: rename cg1packer to cgpacker
There is now only a single class. We don't need to encode the
version in its name since the version is a lie.
Differential Revision: https://phab.mercurial-scm.org/D4084
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 03 Aug 2018 10:35:02 -0700] rev 38901
changegroup: control delta parent behavior via constructor
The last remaining override on cg2packer related to parent delta
computation. We pass a parameter to the constructor to control
whether to delta against the previous revision and we inline all
parent delta logic into a single function.
With this change, cg2packer is empty, so it has been deleted.
Differential Revision: https://phab.mercurial-scm.org/D4083