Skip to content

Remove feature-selector environment variables #5136

Description

@arturcic

Summary

Remove the v7 compatibility selector environment variables in GitVersion v8 after their legacy implementations have been removed in v7.1.

This is the final cleanup following the v7 feature-selector alignment issue.

Remove

  • GITVERSION_ARGUMENT_PARSER_VERSION
  • GITVERSION_CONFIGURATION_VERSION
  • GITVERSION_GIT_BACKEND
  • Selector types, parsing, validation, logging branches, compatibility diagnostics, and tests that exist only for these variables.

GitVersion v8 has one implementation for each concern:

  • POSIX argument parser
  • Nested calculation/output configuration
  • Managed Git backend

Register and use those implementations directly rather than passing through feature-selector abstractions.

Behavior

  • The three retired variables no longer influence execution.
  • Prefer failing fast with a clear removal message when a retired variable is set, rather than silently accepting stale deployment configuration.
  • Remove the per-selector informational log lines where they no longer communicate a choice. Retain ordinary diagnostic information where useful, such as identifying the managed Git implementation.
  • Keep gitversion config migrate available for converting old configuration files; migration support does not imply runtime support for the v6 configuration format.

Acceptance criteria

  • No production selection code reads the three variables.
  • No compatibility selector abstractions or no-op selection branches remain.
  • Packaging contains no LibGit2Sharp/native backend artifacts.
  • Legacy argument parsing and legacy configuration loading remain unavailable.
  • Tests verify actionable diagnostics when retired variables are supplied.
  • v8 breaking-change and migration documentation lists the removed variables and fixed implementations.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions