Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add switch to force classic mode. #1535

Merged
merged 4 commits into from
Nov 8, 2024

Conversation

BillyONeal
Copy link
Member

@BillyONeal BillyONeal commented Nov 2, 2024

A customer wanted to run vcpkg in a place where they could not control that a vcpkg.json was in a directory above, and requested a way to force classic mode. One used to be able to do this with the --no-manifest feature flag, but that was removed some years ago.

This adds a new switch, --classic, which effectively skips looking for a manifest.

Related: microsoft/vcpkg-docs#423

A customer wanted to run vcpkg in a place where they could not control that a `vcpkg.json` was in a directory above, and requested a way to force classic mode. One used to be able to do this with the `--no-manifest` feature flag, but that was removed some years ago.

This adds a new switch, `--classic`, which effectively skips looking for a manifest.
@BillyONeal BillyONeal closed this Nov 8, 2024
@BillyONeal BillyONeal reopened this Nov 8, 2024
@BillyONeal BillyONeal enabled auto-merge (squash) November 8, 2024 19:23
@BillyONeal BillyONeal merged commit 471f4ef into microsoft:main Nov 8, 2024
11 checks passed
@walbourn
Copy link
Member

walbourn commented Nov 8, 2024

Just curious why you didn't bring back the --no-manifest option? Did it do something else?

@BillyONeal
Copy link
Member Author

BillyONeal commented Nov 9, 2024

Just curious why you didn't bring back the --no-manifest option? Did it do something else?

  1. I believe it was named no-manifests with the extra S. (
    {FeatureFlagManifests, manifest_mode},
    ) I also believe it is better to spell options in a way where the user is declaring what they want, rather than absence of what they don't want.
  2. I think (?) it may have had other effects than just selecting which mode we were in. Admittedly I didn't do much digging to find all the exact effects.
  3. I really didn't want to use the feature flag mechanism to power something unrelated to feature flags.
  4. I believe the actual number of users who expected no-manifests to do something is ~zero because it was several years in between removing the feature flag and anyone reporting this issue, so backwards compatibility isn't really a concern.
  5. Backwards compatibility actually might have been a concern to reuse no-manifests since the product currently accepts it (but it has no effect), so making it do something else may subtly break anyone who ever passed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants