{"push_id":1055798567,"size":20,"distinct_size":4,"ref":"refs/heads/heather","head":"004804fabf2a17541331a67d4a9229a9e9032faf","before":"953d7572c4f04de954a4431d6dd69d21d660ef12","commits":[{"sha":"37978a6c61ffaf09d424e4d6ac73b333eb978b77","author":{"email":"952159fa9895ee1dd90d06c086a9b6e7b9efd6e3@well-typed.com","name":"Edsko de Vries"},"message":"Introduce unit tests that illustrate the problem\n\nIn #3170 we introduced a cycle check to the solver. This check is necessary to\nreject cycling solutions (which would previously have resulted in an internal\nerror when we verify the install plan). However, this by itself is not\nsufficient. If we have a cycle through setup dependencies, the solver loops\nbecause it starts building an infinite tree. This is explained in detail in\n\nIn this commit we just add some unit tests that provide a minimal example that\nexposes the bug.","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/37978a6c61ffaf09d424e4d6ac73b333eb978b77"},{"sha":"3d2ad8e0a9ffc4db40719e046583a9da0fe5316b","author":{"email":"952159fa9895ee1dd90d06c086a9b6e7b9efd6e3@well-typed.com","name":"Edsko de Vries"},"message":"Change structure of package paths\n\nA package path now consists of a namespace and a qualifier. The namespace is\neither DefaultNamespace or Independent _i_, for some _i_; this is used for\nindependent top-level goals. Then the qualifier is either Unqualified\n(default), Setup _pn_ for the setup dependencies of package _pn_, or Base _pn_,\nfor a dependency on base by package _pn_ (used only when we detect the presence\nof a base shim). Qualifiers are not tested anymore.\n\nThis avoids non-termination in the solver. The unit tests now pass.","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/3d2ad8e0a9ffc4db40719e046583a9da0fe5316b"},{"sha":"931b5a1927759d401a8b52537e6e99166da2c8c9","author":{"email":"ac60da846ccbfddf5f2b0d1a9e3955d9128d635d@wordroute.com","name":"Kristen Kozak"},"message":"Simplify representation of test suites in the solver DSL\n\nThis commit removes the 'ExTest' constructor from 'ExampleDependency'.\nTest dependencies are now represented using the same\n'ExampleDependency' constructors as library dependencies.  The only\ndifference between dependencies of different components is that they\nare placed under different keys in 'D.C.ComponentDeps.ComponentDeps'.","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/931b5a1927759d401a8b52537e6e99166da2c8c9"},{"sha":"62c31614611921816ee67e8bd1c2bd344d38a394","author":{"email":"5c53b53d2a94579426b41a2f5a7fae3851d636a3@gmail.com","name":"Mikhail Glushenkov"},"message":"Merge pull request #3220 from edsko/pr/LimitQualifierDepth\n\nLimit qualifier depth","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/62c31614611921816ee67e8bd1c2bd344d38a394"},{"sha":"5faa5ef74f24c45e523471747f49a76f235dbca6","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Explanation for Cabal PackageIndex.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/5faa5ef74f24c45e523471747f49a76f235dbca6"},{"sha":"9bdd5635ced0c981b2c47836aedf152887a5654c","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Comments for linearizeInstallPlan.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/9bdd5635ced0c981b2c47836aedf152887a5654c"},{"sha":"ceb95b6f450473d56ff19c8023deb1e63c109946","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Ignore Cabal-generated register.sh files.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/ceb95b6f450473d56ff19c8023deb1e63c109946"},{"sha":"ca8981916ae4da14a7a698bfd6917bbce82f4313","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Minor fixup for computeComputeId.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/ca8981916ae4da14a7a698bfd6917bbce82f4313"},{"sha":"137075dcfc76a9b4bab7c0cf44d30c55b636df2f","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Turn ReadyPackage into a newtype wrapper.\n\nPreviously, ReadyPackage was a ConfiguredPackage elaborated with\na dependencies data structure which had InstalledPackageInfo\nrather than ConfiguredId. Well, it turned out that we only\nused the data from ConfiguredId! So that extra info is useless.\n\nInstead, ReadyPackage is now purely a newtype wrapper for type\nsafety; a reminder that not all ConfiguredPackages can be built,\nonly the ready ones.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/137075dcfc76a9b4bab7c0cf44d30c55b636df2f"},{"sha":"1c0d8ddb23432e1b06f192e2ed642607927bb232","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Warn that inDir is not thread-safe.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/1c0d8ddb23432e1b06f192e2ed642607927bb232"},{"sha":"60732d4b5ead917a0c9d2de81f27157523e2cd2e","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Minor typofix.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/60732d4b5ead917a0c9d2de81f27157523e2cd2e"},{"sha":"d4ba63ec06927d56f09863e1ad2d55a19c8c973d","author":{"email":"952159fa9895ee1dd90d06c086a9b6e7b9efd6e3@well-typed.com","name":"Edsko de Vries"},"message":"Merge pull request #3277 from grayjay/solver-dsl-test-suites\n\nSimplify representation of test suites in the solver DSL","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/d4ba63ec06927d56f09863e1ad2d55a19c8c973d"},{"sha":"1b0080d023e63c184dd1dd8b6c25d72a9adc062c","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Make AppVeyor less chatty.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/1b0080d023e63c184dd1dd8b6c25d72a9adc062c"},{"sha":"cfb124f570a218ec7bebcf86ec535f91270098d8","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Introduce SolverId/SolverInstallPlan as solver output.\n\nCurrently, dependency solving immediately produces an 'InstallPlan'\nwhich is then consumed by cabal install, or elaborated into\nan 'ElaboratedInstallPlan' for cabal new-build.  However, this\ntranslation is awkward, because the dependency solver knows nothing\nabout 'UnitId's, yet an 'InstallPlan' must indexed by 'UnitId's.\nSo there's a bit of faffing around to generate a \"fake\" unit id\nto satisfy the interface, and then eventually correct it to the\nright one.\n\nSo this patch starts moving us in a better direction, by introducing\na 'SolverInstallPlan', 'SolverPackage' and 'SolverId', intended\nto be generated by the solver.  Then 'configureInstallPlan' or\n'elaborateInstallPlan' elaborate this representation into the\nrepresentation needed by the destination.\n\nThe next step will be to generate the 'UnitId' during\n'configureInstallPlan', and then we can get rid of the fake map\n(so only Solver data types generate a fake identity, which\nis only temporary until we generate 'UnitId's.)\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/cfb124f570a218ec7bebcf86ec535f91270098d8"},{"sha":"09528c2d075c236947830abb3d0b19582ba2922f","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"Delete FakeMap.\n\nCompute 'UnitId' when we compute a 'ConfiguredPackage';\nconsequently, we can eliminate 'FakeMap' (finally!)\nThere is one hack remaining, which is that 'SolverInstallPlan'\ngins up fake unit IDs so that it can be keyed on UnitIds.\nBut this data structure exists only very briefly before\nbeing converted into an 'InstallPlan' or 'ElaboratedInstallPlan'.\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/09528c2d075c236947830abb3d0b19582ba2922f"},{"sha":"8f95480dfce67366358f4a0aa14030e8771432c2","author":{"email":"dbd597f5635f432486c5d365e9bb585b3eaa1853@cs.stanford.edu","name":"Edward Z. Yang"},"message":"--force-yes in Travis script (fixes #3292)\n\nSigned-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>","distinct":false,"url":"https://api.github.com/repos/Heather/cabal/commits/8f95480dfce67366358f4a0aa14030e8771432c2"},{"sha":"a11de96c79d8830180456b1dfc4f29f51a2f80f0","author":{"email":"d53652de63b26f2b99abfc5699fac10f3f95e1f7@live.ru","name":"Heather"},"message":"sharingan","distinct":true,"url":"https://api.github.com/repos/Heather/cabal/commits/a11de96c79d8830180456b1dfc4f29f51a2f80f0"},{"sha":"7f18183119a7a7bbd5eaeaad88f7f68f21dae5e1","author":{"email":"d53652de63b26f2b99abfc5699fac10f3f95e1f7@live.ru","name":"Heather"},"message":"install cabal with cabal","distinct":true,"url":"https://api.github.com/repos/Heather/cabal/commits/7f18183119a7a7bbd5eaeaad88f7f68f21dae5e1"},{"sha":"4c0943d1503ea96c25700a99f23062dff87371a0","author":{"email":"d53652de63b26f2b99abfc5699fac10f3f95e1f7@live.ru","name":"Heather"},"message":"use --force-reinstalls for Cabal","distinct":true,"url":"https://api.github.com/repos/Heather/cabal/commits/4c0943d1503ea96c25700a99f23062dff87371a0"},{"sha":"004804fabf2a17541331a67d4a9229a9e9032faf","author":{"email":"d53652de63b26f2b99abfc5699fac10f3f95e1f7@live.ru","name":"Heather"},"message":"fix building by adding --allow-newer=Cabal","distinct":true,"url":"https://api.github.com/repos/Heather/cabal/commits/004804fabf2a17541331a67d4a9229a9e9032faf"}]}