github.com/opentofu/opentofu@v1.7.1/internal/depsfile/doc.go (about) 1 // Copyright (c) The OpenTofu Authors 2 // SPDX-License-Identifier: MPL-2.0 3 // Copyright (c) 2023 HashiCorp, Inc. 4 // SPDX-License-Identifier: MPL-2.0 5 6 // Package depsfile contains the logic for reading and writing OpenTofu's 7 // dependency lock and development override configuration files. 8 // 9 // These files are separate from the main OpenTofu configuration files (.tf) 10 // for a number of reasons. The first is to help establish a distinction 11 // where .tf files configure a particular module while these configure 12 // a whole configuration tree. Another, more practical consideration is that 13 // we intend both of these files to be primarily maintained automatically by 14 // OpenTofu itself, rather than by human-originated edits, and so keeping 15 // them separate means that it's easier to distinguish the files that OpenTofu 16 // will change automatically during normal workflow from the files that 17 // OpenTofu only edits on direct request. 18 // 19 // Both files use HCL syntax, for consistency with other files in OpenTofu 20 // that we expect humans to (in this case, only occasionally) edit directly. 21 // A dependency lock file tracks the most recently selected upstream versions 22 // of each dependency, and is intended for checkin to version control. 23 // A development override file allows for temporarily overriding upstream 24 // dependencies with local files/directories on disk as an aid to testing 25 // a cross-codebase change during development, and should not be saved in 26 // version control. 27 package depsfile