Part of #52. Depends on the shared git-invocation helper sub-issue.
Goal
Add a command to restore stashed changes (git stash pop) — ObjectiveGit's
Restore-Changes — modernized.
Modernize (do not port as-is)
- ObjectiveGit runs
git ... stash pop via Invoke-Expression. Use the shared
helper with a git argument array.
- Add
[CmdletBinding(SupportsShouldProcess)]; honor -WhatIf/-Confirm (pop
changes working-tree/index state and can conflict).
- Cross-platform repository path handling; drop the magic exit-code / bug branch.
- Consider a parameter to target a specific stash entry (optional enhancement
beyond the original, which always popped the top).
Acceptance criteria
- Exported from both the
.psm1 and .psd1 export lists.
- Comment-based help;
SupportsShouldProcess honored.
- Final command name uses an approved verb and fits the module surface (pairs
naturally with the Backup-Changes replacement).
- README command table +
[Unreleased] CHANGELOG updated.
- Deterministic Pester tests.
build/Test-Modules.ps1 and build/Invoke-Tests.ps1 pass.
Part of #52. Depends on the shared git-invocation helper sub-issue.
Goal
Add a command to restore stashed changes (
git stash pop) — ObjectiveGit'sRestore-Changes— modernized.Modernize (do not port as-is)
git ... stash popviaInvoke-Expression. Use the sharedhelper with a git argument array.
[CmdletBinding(SupportsShouldProcess)]; honor-WhatIf/-Confirm(popchanges working-tree/index state and can conflict).
beyond the original, which always popped the top).
Acceptance criteria
.psm1and.psd1export lists.SupportsShouldProcesshonored.naturally with the
Backup-Changesreplacement).[Unreleased]CHANGELOG updated.build/Test-Modules.ps1andbuild/Invoke-Tests.ps1pass.