patch applied (hackage-server): "Remove dependency of PackageContents on PackageCandidates" and 2 others
devnull at community.haskell.org
devnull at community.haskell.org
Tue Jan 22 18:16:32 CET 2013
Tue Jan 22 14:40:39 GMT 2013 Edsko de Vries <edsko at well-typed.com>
* Remove dependency of PackageContents on PackageCandidates
Ignore-this: f6eb56b31f5e55cd3078dfdd0e4560c3
This means there is a bit of duplication between PackageCandidates and
PackageCandidates (serveTarball and friends), but we can factor that out later.
Importantly, both PackageContents and PackageCandidates can now maintain their
own state (cached TarIndexes) so that we can start to get rid of the stuff in
Util/ChangeLog (which reconstructs the TarIndex on every request).
M ./Distribution/Server/Features.hs -7 +6
M ./Distribution/Server/Features/PackageCandidates.hs -11 +61
M ./Distribution/Server/Features/PackageContents.hs -32 +11
M ./Distribution/Server/Packages/Render.hs -36 +40
M ./Distribution/Server/Pages/Package.hs -19 +28
Tue Jan 22 15:12:00 GMT 2013 Edsko de Vries <edsko at well-typed.com>
* Merge Util/Changelog with PackageContents and PackageCandidates
Ignore-this: 60d1c81c483ec093a9decadbb266528d
This paves the way for making lookupTarball and co stateful (that is, find the
cached tarindex rather than reconstructing it). We need to do this separately
for PackageContents and PackageCandidates because they will each maintain their
own state.
This introduces more duplication, but we can separate that out later.
M ./Distribution/Server/Features/PackageCandidates.hs -7 +45
M ./Distribution/Server/Features/PackageContents.hs -5 +43
M ./Distribution/Server/Features/RecentPackages.hs -1 +1
R ./Distribution/Server/Util/ChangeLog.hs
M ./hackage-server.cabal -1
Tue Jan 22 17:14:36 GMT 2013 Edsko de Vries <edsko at well-typed.com>
* Add packageTarball and packageChangeLog to PackageContents
Ignore-this: 667d26a05a81cbec3e10c75cb2d8c86c
At the moment these are simply defined in terms of
lookupTarballAndConstructTarIndex and lookupChangeLog, but those functions are
now no longer exported (RecentPackages now depends on the PackageContents
feature to get a handle on a package changelog). This means that we are now
finally in a position that we can actually start caching these tar indices.
M ./Distribution/Server/Features.hs -3 +4
A ./Distribution/Server/Features/PackageContents/
M ./Distribution/Server/Features/PackageContents.hs -8 +32
A ./Distribution/Server/Features/PackageContents/State.hs
M ./Distribution/Server/Features/RecentPackages.hs -13 +22
More information about the cabal-devel
mailing list