47
47
``--2a`` formats should be down to exactly 2x the size. Related to bug
48
48
#109114. (John Arbash Meinel)
50
* Repositories using CHK pages (which includes the new 2a format) will no
51
longer error during commit or push operations when an autopack operation
52
is triggered. (Robert Collins, #365615)
50
54
* Unshelve works correctly when multiple zero-length files are present on
51
55
the shelf. (Aaron Bentley, #363444)
66
70
for files with long ancestry and 'cherrypicked' changes.)
67
71
(John Arbash Meinel, Vincent Ladeuil)
73
* ``GroupCompress`` repositories now take advantage of the pack hints
74
parameter to permit cross-format fetching to incrementally pack the
75
converted data. (Robert Collins)
69
77
* pack <=> pack fetching is now done via a ``PackStreamSource`` rather
70
78
than the ``Packer`` code. The user visible change is that we now
71
79
properly fetch the minimum number of texts for non-smart fetching.
72
80
(John Arbash Meinel)
82
* ``Repository.commit_write_group`` now returns opaque data about what
83
was committed, for passing to the ``Repository.pack``. Repositories
84
without atomic commits will still return None. (Robert Collins)
86
* ``Repository.pack`` now takes an optional ``hint`` parameter
87
which will support doing partial packs for repositories that can do
88
that. (Robert Collins)
90
* RepositoryFormat has a new attribute 'pack_compresses' which is True
91
when doing a pack operation changes the compression of content in the
92
repository. (Robert Collins)
94
* ``StreamSink`` and ``InterDifferingSerialiser`` will call
95
``Repository.pack`` with the hint returned by
96
``Repository.commit_write_group`` if the formats were different and the
97
repository can increase compression by doing a pack operation.
98
(Robert Collins, #376748)
74
100
* ``VersionedFiles._add_text`` is a new api that lets us insert text into
75
101
the repository as a single string, rather than a list of lines. This can
76
102
improve memory overhead and performance of committing large files.
77
103
(Currently a private api, used only by commit). (John Arbash Meinel)