Skip to content

Commit ed0b0b5

Browse files
committed
Add a "Freezing limitations" section
1 parent 6a9b2cd commit ed0b0b5

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

doc/how-to-freeze-versions.rst

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,18 @@ will use the exact same set of dependencies, regardless of any updates (even
454454
patches) that might get published for these dependencies in the meantime.
455455
Therefore, we have effectively "frozen" the dependencies in place.
456456

457+
Project environments
458+
^^^^^^^^^^^^^^^^^^^^
459+
460+
If a package is built in several environments, such as a development
461+
environment, a staging environment and a production environment, it may be
462+
necessary or desirable to ensure that the same dependency versions are selected
463+
in each environment. While this can be done with a **freeze file** there are
464+
limitations.
465+
466+
Freezing limitations
467+
^^^^^^^^^^^^^^^^^^^^
468+
457469
There's a lot to consider before deciding to add a ``cabal.project.freeze`` file
458470
to source control due to limitations of ``cabal freeze``. A freeze is specific
459471
for a single Cabal dependency solver run within the current environment. A good
@@ -485,11 +497,3 @@ sense.
485497
486498
Common configuration can be shared between projects by using project
487499
imports.
488-
489-
Project environments
490-
^^^^^^^^^^^^^^^^^^^^
491-
492-
If a package is built in several environments, such as a development
493-
environment, a staging environment and a production environment, it may be
494-
necessary or desirable to ensure that the same dependency versions are selected
495-
in each environment. This can be done with a **freeze file**.

0 commit comments

Comments
 (0)