mirror of
https://github.com/github/spec-kit.git
synced 2026-08-03 06:26:30 +08:00
fix(scripts): git-ext PowerShell emits the '# To persist' SPECIFY_FEATURE hint (parity) (#3632)
* fix(scripts): git-ext PowerShell emits the '# To persist' SPECIFY_FEATURE hint (parity) The Git extension's create-new-feature-branch.ps1 printed a non-JSON hint 'SPECIFY_FEATURE environment variable set to: <name>', diverging from every twin: the bash (create-new-feature-branch.sh) and python (create_new_feature_branch.py) siblings of the same extension, and the core create-new-feature.ps1, all emit '# To persist in your shell: $env:SPECIFY_FEATURE = '<name>''. The old wording is also misleading — $env:SPECIFY_FEATURE is set only in this child process and never reaches the agent's shell, so the actionable output is the persist hint. Mirror the core PS twin's $featureAssignment construction and message. Test (pwsh CI): the non-JSON output uses the '# To persist in your shell:' form (fails before: old wording). Verified end-to-end via powershell.exe. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(test): fix doubled apostrophe in persist-hint test docstring Address review: the docstring rendered the documented output form as '<name>'' (two trailing apostrophes) instead of '<name>'. Docstring-only; the assertions were already correct. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -698,6 +698,22 @@ class TestCreateFeaturePowerShell:
|
||||
assert rt.returncode == 0, rt.stderr
|
||||
assert "HAS_GIT" not in rt.stdout
|
||||
|
||||
def test_persist_hint_matches_twins(self, tmp_path: Path):
|
||||
"""The non-JSON SPECIFY_FEATURE hint must use the '# To persist in your
|
||||
shell: $env:SPECIFY_FEATURE = '<name>' form — matching the core
|
||||
create-new-feature.ps1 twin and the bash/python twins of this script —
|
||||
not the old 'environment variable set to:' wording (the env var is only
|
||||
set in this child process, so the actionable output is the persist hint)."""
|
||||
project = _setup_project(tmp_path)
|
||||
result = _run_pwsh(
|
||||
"create-new-feature-branch.ps1", project,
|
||||
"-ShortName", "persist", "Persist hint feature",
|
||||
)
|
||||
assert result.returncode == 0, result.stderr
|
||||
assert "# To persist in your shell:" in result.stdout
|
||||
assert "$env:SPECIFY_FEATURE = '001-persist'" in result.stdout
|
||||
assert "environment variable set to:" not in result.stdout
|
||||
|
||||
def test_help_documents_branch_prefix(self, tmp_path: Path):
|
||||
"""-Help documents both template config knobs."""
|
||||
project = _setup_project(tmp_path)
|
||||
|
||||
Reference in New Issue
Block a user