<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/apt-pkg/pkgcache.cc, branch 1.6_beta1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.6_beta1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.6_beta1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2017-07-12T11:57:51Z</updated>
<entry>
<title>Reformat and sort all includes with clang-format</title>
<updated>2017-07-12T11:57:51Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-07-12T11:40:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=87274d0f22e1dfd99b2e5200e2fe75c1b804eac3'/>
<id>urn:sha1:87274d0f22e1dfd99b2e5200e2fe75c1b804eac3</id>
<content type='text'>
This makes it easier to see which headers includes what.

The changes were done by running

    git grep -l '#\s*include'  \
        | grep -E '.(cc|h)$' \
        | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'

To modify all include lines by adding a space, and then running
./git-clang-format.sh.
</content>
</entry>
<entry>
<title>pkgcache: Bump major version to 12</title>
<updated>2017-06-26T16:57:30Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2017-06-26T16:56:24Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=12a2f66b7b62f70d234d0b7c6fca3271873e93cd'/>
<id>urn:sha1:12a2f66b7b62f70d234d0b7c6fca3271873e93cd</id>
<content type='text'>
We need to be able to update 1.4.y in different ways than later
apt versions, and thus need to bump the major version so there
is no collision in the minor version at some point.
</content>
</entry>
<entry>
<title>fix various typos reported by spellintian</title>
<updated>2017-01-19T14:59:38Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-01-19T14:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=93cff633a830e222693fc0f3d78e6e534d1126ee'/>
<id>urn:sha1:93cff633a830e222693fc0f3d78e6e534d1126ee</id>
<content type='text'>
Most of them in (old) code comments. The two instances of user visible
string changes the po files of the manpages are fixed up as well.

Gbp-Dch: Ignore
Reported-By: spellintian
</content>
</entry>
<entry>
<title>Compare size before data when ordering cache bucket entries</title>
<updated>2016-11-22T21:58:19Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-09-27T16:59:11Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f378b41f9ab2493bcbc5892d482b18826b0b84c0'/>
<id>urn:sha1:f378b41f9ab2493bcbc5892d482b18826b0b84c0</id>
<content type='text'>
This has the effect of significantly reducing actual string
comparisons, and should improve the performance of FindGrp
a bit, although it's hardly measureable (callgrind says it
uses 10% instructions less now).
</content>
</entry>
<entry>
<title>Introduce tolower_ascii_unsafe() and use it for hashing</title>
<updated>2016-11-22T21:58:18Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-09-27T16:20:02Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=7a3b00b10b6a5a740e07fc1b68a4f3fb3bcdac23'/>
<id>urn:sha1:7a3b00b10b6a5a740e07fc1b68a4f3fb3bcdac23</id>
<content type='text'>
This one has some obvious collisions for non-alphabetical characters,
like some control characters also hashing to numbers, but we don't
really have those, and these are hash functions which are not
collision free to begin with.
</content>
</entry>
<entry>
<title>Bump the cache major version for non-backportable changes</title>
<updated>2016-11-22T21:58:18Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-09-27T16:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=1236419d67e119acc7c0df48f8b14a277e0b5683'/>
<id>urn:sha1:1236419d67e119acc7c0df48f8b14a277e0b5683</id>
<content type='text'>
We already have two stable series with major version 10, and
the next commits will introduce non-backportable performance
changes that affect the cache algorithms, so we need to bump
the major version now to prevent future problems.
</content>
</entry>
<entry>
<title>VersionHash: Do not skip too long dependency lines</title>
<updated>2016-09-18T12:17:17Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-09-18T11:24:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=708e2f1fe99e6f067292bc909f03f12c181e4798'/>
<id>urn:sha1:708e2f1fe99e6f067292bc909f03f12c181e4798</id>
<content type='text'>
If the dependency line does not contain spaces in the repository
but does in the dpkg status file (because dpkg normalized the
dependency list), the dpkg line might be longer than the line
in the repository. If it now happens to be longer than 1024
characters, it would be skipped, causing the hashes to be
out of date.

Note that we have to bump the minor cache version again as
this changes the format slightly, and we might get mismatches
with an older src cache otherwise.

Fixes Debian/apt#23
</content>
</entry>
<entry>
<title>cache: Bump minor version to 6</title>
<updated>2016-06-28T20:15:50Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-06-28T15:54:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=33aa2752e7c7a6f0a01b191111aa35a5fe69cf20'/>
<id>urn:sha1:33aa2752e7c7a6f0a01b191111aa35a5fe69cf20</id>
<content type='text'>
Needed for the previous change
</content>
</entry>
<entry>
<title>factor out Pkg/DepIterator prettyprinters into own header</title>
<updated>2016-04-28T08:08:32Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2016-04-28T07:22:55Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=84573326f41dd09b914b8374548e7ee7c93d0439'/>
<id>urn:sha1:84573326f41dd09b914b8374548e7ee7c93d0439</id>
<content type='text'>
The old prettyprinters have only access to the struct they pretty print,
which isn't enough usually as we want to know for a package also a bit
of state information like which version is the candidate.

We therefore need to pull the DepCache into context and hence use a
temporary struct which is printed instead of the iterator itself.
</content>
</entry>
<entry>
<title>cachefile: Only set members that were initialized successfully</title>
<updated>2016-03-19T06:19:24Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>jak@debian.org</email>
</author>
<published>2016-03-19T00:56:38Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=f40fdaa43271edf98b80c08e20f401b5da591501'/>
<id>urn:sha1:f40fdaa43271edf98b80c08e20f401b5da591501</id>
<content type='text'>
Otherwise, things will just start failing later down the stack,
because (a) the lazy getters do not check if building was successful
and (b) any further getter call would return the invalid object
anyway.

Also initialize VS in pkgCache to nullptr by default.

Closes: #818628
</content>
</entry>
</feed>
