CopyGitHubRepo
0.2.0
PowerShell module for safely copying and migrating GitHub repositories with clean Snapshot or history-preserving FullHistory modes.
Minimum PowerShell version
7.4
Installation Options
Owners
Copyright
(c) 2026 infoconex. Licensed under the MIT License.
Package Details
Author(s)
- infoconex
Tags
GitHub Git Repository Copy Migration Automation DevOps PowerShell Windows Linux MacOS
Functions
Copy-GitHubRepository Get-GitHubRepository Start-CopyGitHubRepositoryWizard Test-GitHubRepositoryMigration
PSEditions
Dependencies
This module has no dependencies.
Release Notes
### Added
- Added opt-in GitHub Release preservation for `FullHistory` migrations with `-IncludeReleases`.
- Added release filtering by tag include/exclude wildcard patterns, prerelease/draft opt-in, and newest-N limiting.
- Added immutable release-selection evidence to migration planning so execution restores the exact reviewed releases rather than rerunning a live filter.
- Added post-FullHistory restoration of release metadata and assets with tag-target, release metadata, asset name/label/size/content-type/digest verification where available, plus preservation of the selected source Latest release designation.
- Added fail-closed release drift detection when a selected source release changes after planning, plus release provenance in migration/recovery results.
- Added `Test-GitHubRepositoryMigration -IncludeReleases` with the same release-selection filters for independent read-only FullHistory release verification.
- Added `Start-CopyGitHubRepositoryWizard -Version` to report the loaded module version without starting discovery, planning, or migration activity.
- Added controlled unit, integration, and GitHub E2E coverage for filtered release selection, release assets, Latest designation, tag-target preservation, and independent post-migration verification.
### Changed
- Strengthened release-line safety and reliability by keeping repository-protection restoration bound to reviewed planning evidence, preserving fail-closed GitHub API read behavior, and maintaining verification-before-restoration and recovery-evidence ordering across supported copy paths.
- Improved documentation discoverability and validation with page-specific search/social metadata, sitemap and robots support, structured-data checks, and clearer quality-gate diagnostics.
FileList
- CopyGitHubRepo.nuspec
- Private\Migration\Invoke-CgrPostVerificationConfigurationRestore.ps1
- Private\Wizard\Get-CgrActivityTerminalState.ps1
- Private\GitHub\Get-CgrGitHubReleaseSelection.ps1
- CopyGitHubRepo.psd1
- Private\Migration\Write-CgrMigrationPlanReport.ps1
- Private\Wizard\ConvertTo-CgrWizardNavigationResult.ps1
- Private\GitHub\Get-CgrGitHubApiOptional.ps1
- CopyGitHubRepo.format.ps1xml
- Private\Migration\Copy-CgrRepositorySnapshot.ps1
- Private\Wizard\Read-CgrWizardInput.ps1
- Private\GitHub\Set-CgrGitHubRepositorySetting.ps1
- CopyGitHubRepo.psm1
- Private\Migration\Invoke-CgrNewDestinationFullHistory.ps1
- Private\Wizard\Test-CgrConsoleStylingAvailable.ps1
- Private\GitHub\Rename-CgrGitHubRepository.ps1
- Public\Get-GitHubRepository.ps1
- Private\Migration\Invoke-CgrRepositorySnapshotVerification.ps1
- Private\Wizard\Format-CgrWizardText.ps1
- Private\GitHub\Invoke-CgrGitHubApiMutation.ps1
- Public\Start-CopyGitHubRepositoryWizard.ps1
- Private\Migration\Write-CgrMigrationExecutionReport.ps1
- Private\Wizard\Invoke-CgrActivityStage.ps1
- Private\GitHub\Copy-CgrApprovedGitHubRelease.ps1
- Public\Copy-GitHubRepository.ps1
- Private\Wizard\Write-CgrWizardCompletionSummary.ps1
- Private\Wizard\Invoke-CgrRepositoryCopyWizard.ps1
- Private\GitHub\Invoke-CgrGitHubApiReadRequest.ps1
- Public\Test-GitHubRepositoryMigration.ps1
- Private\Wizard\Select-CgrWizardRepository.ps1
- Private\Wizard\Resolve-CgrWizardDestinationRepository.ps1
- Private\GitHub\Test-CgrGitHubReleaseMigration.ps1
- Private\Git\Invoke-CgrGitCommand.ps1
- Private\Wizard\Invoke-CgrWithActivitySink.ps1
- Private\Repository\Get-CgrRepository.ps1
- Private\GitHub\Get-CgrGitHubApi.ps1
- Private\Git\Get-CgrGitCommitIdentity.ps1
- Private\Wizard\New-CgrWizardActivitySink.ps1
- Private\Repository\Get-CgrPrerequisiteStatus.ps1
- Private\GitHub\Test-CgrGitHubRepositoryExistence.ps1
- Private\Git\Invoke-CgrNativeCommand.ps1
- Private\Wizard\Get-CgrActivityCompletionMessage.ps1
- Private\Repository\ConvertTo-CgrRepositoryName.ps1
- Private\GitHub\Get-CgrGitHubAuthenticationStatus.ps1
- Private\Git\Copy-CgrGitLfsObject.ps1
- Private\Wizard\Resolve-CgrWizardNavigationInput.ps1
- Private\Repository\Get-CgrApprovedSourceState.ps1
- Private\Replacement\Invoke-CgrSameNameFullHistoryReplacement.ps1
- Private\Git\Resolve-CgrNativeCommand.ps1
- Private\Wizard\Send-CgrActivityEvent.ps1
- Private\Repository\Assert-CgrSupportedHostName.ps1
- Private\Replacement\Get-CgrDefaultArchiveRepositoryName.ps1
- Private\Migration\Invoke-CgrApprovedMigrationPlan.ps1
- Private\Wizard\Read-CgrWizardChoice.ps1
- Private\Repository\Get-CgrRepositoryDefaultBranchTree.ps1
- Private\Replacement\Invoke-CgrSameNameSnapshotReplacement.ps1
- Private\Migration\Assert-CgrFullHistoryWorkspaceState.ps1
- Private\Wizard\Read-CgrWizardTextValue.ps1
- Private\Repository\Set-CgrRepositoryProtectionConfiguration.ps1
- Private\Replacement\Assert-CgrExistingDestinationReplacementConfirmation.ps1
- Private\Migration\Invoke-CgrApprovedFullHistoryVerification.ps1
- Private\Wizard\Format-CgrConsoleStatus.ps1
- Private\Repository\Get-CgrSnapshotHistory.ps1
- Private\Replacement\Assert-CgrSameNameReplacementConfirmation.ps1
- Private\Migration\Format-CgrMigrationExecutionResult.ps1
- Private\Wizard\Test-CgrInteractiveTerminal.ps1
- Private\Repository\ConvertTo-CgrRepository.ps1
- Private\Replacement\Invoke-CgrExistingDestinationReplacement.ps1
- Private\Migration\Copy-CgrRepositoryFullHistory.ps1
- Private\Wizard\Show-CgrWizardHelp.ps1
- Private\Repository\Get-CgrRepositoryFullHistoryIdentity.ps1
- Private\Replacement\Write-CgrExistingDestinationRecoveryReport.ps1
- Private\Migration\Invoke-CgrRepositoryFullHistoryVerification.ps1
- Private\Wizard\Write-CgrWizardMessage.ps1
- Private\Repository\Assert-CgrLocalResourcePreflight.ps1
- Private\Replacement\Write-CgrSameNameRecoveryReport.ps1
- Private\Migration\Format-CgrMigrationPlan.ps1
- Private\Wizard\Write-CgrWizardActivityEvent.ps1
- Private\Repository\Get-CgrRepositoryProtectionConfiguration.ps1
- Private\Replacement\Assert-CgrReplacementRepositoryIdentity.ps1
- Private\Migration\Invoke-CgrNewDestinationSnapshot.ps1
- Private\Wizard\Test-CgrExpectedWizardApplicationError.ps1
- Private\Repository\Assert-CgrApprovedSourceState.ps1
- Private\Utility\Get-CgrObjectProperty.ps1
- Private\Migration\New-CgrMigrationPlan.ps1
- Private\Wizard\Read-CgrWizardRepositoryName.ps1
- Private\GitHub\New-CgrGitHubRepository.ps1
- Private\Utility\Protect-CgrDiagnosticText.ps1
- Private\Migration\Write-CgrMigrationRecoveryReport.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.4.0 | 12 | 9/3/2026 |
| 0.3.0 | 8 | 9/1/2026 |
| 0.2.0 (current version) | 6 | 8/31/2026 |
| 0.1.1 | 11 | 8/26/2026 |
| 0.1.0 | 11 | 8/23/2026 |