This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 04 Mar, 2016 4 commits
  2. 03 Mar, 2016 11 commits
    • Herbert Valerio Riedel's avatar
      Silence -Wredundant-constraints warnings · fa8364f6
      Herbert Valerio Riedel authored
      In GHC 8.0 -Wall implies -Wredundant-constraints, so we have to
      address those warings in one way or another.
      fa8364f6
    • Herbert Valerio Riedel's avatar
      Follow-up to c0ec0b36 · 880ad15e
      Herbert Valerio Riedel authored
      880ad15e
    • Mikhail Glushenkov's avatar
      Change a warning type. · 28e4d38a
      Mikhail Glushenkov authored
      28e4d38a
    • Andres Löh's avatar
      Improve goal reorder heuristics. · 150d6ca9
      Andres Löh authored
      This change primarily does two things:
      
      1. For `--reorder-goals`, we use a dedicated datatype `Degree`
         rather than an `Int` to compute the approximate branching
         degree. We map 0 and 1 to the same value. We then use a
         lazy ordering and a shortcutting minimum function to look
         for the "best" goal.
      
         The motivation here is that we do not want to spend
         unnecessary work. Following any goal that has 0 or 1 as degree
         cannot really be "wrong", so we should not look at any others
         and waste time.
      
         This will still not always make the use of `--reorder-goals`
         better than not using it, but it will reduce the overhead
         introduced by it.
      
      2. We use partitioning rather than sorting for most of the other
         goal reordering heuristics that are active in all situations.
         I think this is slightly more straightforward and also slightly
         more efficient, whether `--reorder-goals` is used or not.
      
      I have run some preliminary performance comparisons and they
      seem to confirm that in both cases separately (with or without
      `--reorder-goals`), these changes are a relative improvement
      over the status quo. I will run additional tests before
      merging this into master.
      150d6ca9
    • Mikhail Glushenkov's avatar
      Typos. · cc7aed37
      Mikhail Glushenkov authored
      [ci skip]
      cc7aed37
    • Andres Löh's avatar
      Merge branch 'edsko-pr/DetectCyclesInSolver' · 478e9da2
      Andres Löh authored
      478e9da2
    • Mikhail Glushenkov's avatar
      Merge pull request #3207 from grayjay/appveyor-tests · 56bdce07
      Mikhail Glushenkov authored
      Enable cabal-install integration tests in appveyor.yml
      56bdce07
    • Andres Löh's avatar
      Rename cycle detection phase and typos. · 64a014ec
      Andres Löh authored
      A number of small changes:
      
      - Some comment typos fixed.
      - The main function for cycle detection is now called
        `cycleDetectionPhase`, in analogy with all the other
        phases.
      
      I've run a superficial performance test trying to install
      all of Hackage on a clean db with ghc-7.10.3. This is not
      likely to trigger any situations where cycle detection
      actually kicks in, but it confirms in general that there is
      no negative performance (or correctness) impact for the
      common case.
      
      I've also considered moving the cycle detection phase to
      "earlier" in the solver, but after performance testing, decided
      against it, and documented the decision and the reasons in
      the code.
      64a014ec
    • kristenk's avatar
      b36f0a44
    • kristenk's avatar
      Clean up appveyor.yml · d75e4ab1
      kristenk authored
      d75e4ab1
    • kristenk's avatar
      Allow inconsistent handling of missing paths in 'sandbox delete-source' tests · 4a06b1d4
      kristenk authored
      Fixes #3059.
      
      cabal's handling of non-existent sources depends on the behavior of the
      directory package. 'canonicalizePath' can fail on non-existent paths before
      directory-1.2.3.0. This commit updates the test 'fail_on_nonexistent_source' to
      allow 'cabal sandbox delete-source' to fail or succeed.  It also changes
      'fail_removing_source_thats_not_registered' so that it only tests existing
      sources.
      4a06b1d4
  3. 02 Mar, 2016 4 commits
  4. 01 Mar, 2016 2 commits
  5. 29 Feb, 2016 2 commits
  6. 28 Feb, 2016 7 commits
  7. 27 Feb, 2016 3 commits
  8. 26 Feb, 2016 3 commits
  9. 25 Feb, 2016 2 commits
  10. 24 Feb, 2016 2 commits