You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This field declares the versioning baseline for all ports. Setting a baseline is required to enable versioning, otherwise you will get the current versions on the ports directory. You can run 'git rev-parse HEAD' to get the current commit of vcpkg and set it as the builtin-baseline. But what is a baseline? What does it do? Why is the value a SHA?
184
-
185
-
From the [versioning documentation](../users/versioning.md):
186
182
187
-
> The baseline references a commit within the vcpkg repository that
188
-
establishes a minimum version on every dependency in the graph. If
189
-
no other constraints are specified (directly or transitively),
190
-
then the version from the baseline of the top level manifest will
191
-
be used.
183
+
This field declares the versioning baseline for all ports. Setting a baseline is required to enable versioning, otherwise you will get the current versions on the ports directory. You can run 'git rev-parse HEAD' to get the current commit of vcpkg and set it as the builtin-baseline. See the [`builtin-baseline` documentation](../users/versioning.md#builtin-baseline) for more information.
192
184
193
185
In our example, you can notice that we do not declare a version constraint for `zlib`; instead, the version is taken from the baseline. Internally, vcpkg will look in commit `b60f003ccf5fe8613d029f49f835c8929a66eb61` to find out what version of `zlib` was the latest at that point in time (in our case it was `1.2.11#9`).
194
186
195
187
During version resolution, baseline versions are treated as minimum version constraints. If you declare an explicit constraint that is lower than a baseline version, the explicit constraint will be upgraded to the baseline version.
196
188
197
189
For example, if we modified our dependencies like this:
198
-
```
199
-
"dependencies": [
190
+
```json
191
+
{ "dependencies": [
200
192
{
201
193
"name": "fmt",
202
194
"version>=": "7.1.3"
@@ -205,7 +197,7 @@ For example, if we modified our dependencies like this:
205
197
"name": "zlib",
206
198
"version>=": "1.2.11#7"
207
199
}
208
-
]
200
+
] }
209
201
```
210
202
211
203
_NOTE: The value `1.2.11#7` represents version `1.2.11`, port version `7`._
@@ -224,7 +216,7 @@ The mechanism vcpkg provides for that scenario is `overrides`. When an override
224
216
225
217
Let's modify our example once more, this time to force vcpkg to use version `6.0.0` of `fmt`.
Copy file name to clipboardExpand all lines: docs/maintainers/maintainer-guide.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -241,7 +241,7 @@ To update the files for all modified ports at once.
241
241
242
242
_NOTE: These commands require you to have committed your changes to the ports before running them. The reason is that the Git SHA of the port directory is required in these version files. But don't worry, the `x-add-version` command will warn you if you have local changes that haven't been committed._
243
243
244
-
See our [versioning specification](https://github.com/vicroms/vcpkg/blob/versioning-spec/docs/specifications/versioning.md) and [registries specification](https://github.com/strega-nil/vcpkg/blob/git-registries/docs/specifications/registries-2.md) to learn how vcpkg interacts with these files.
244
+
See our [versioning specification](../specifications/versioning.md) and [registries specification](../specifications/registries-2.md) to learn how vcpkg interacts with these files.
0 commit comments