CopyGitHubRepo
0.4.1
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
### Fixed
- Updated the coupled CodeQL `init` and `analyze` security-workflow actions together to v4.38.3 at one reviewed immutable commit, preventing the version mismatch that caused separately proposed dependency updates to fail.
- Corrected the command-design documentation to recognize implemented, opt-in `-RestorePages` restoration and verification rather than incorrectly describing it as unimplemented; migration runtime behavior is unchanged.
### Changed
- Grouped future CodeQL Dependabot version updates and added regression contracts requiring matching immutable CodeQL action pins and retaining the update group.
- Updated six immutable `actions/upload-artifact` pins to v7.0.2 across code security, scale characterization, documentation and cross-platform quality workflows, preserving the existing upload conditions, permissions and artifact handling.
- Updated the exact Pester development/test pin and reviewed-stable monitoring baseline from 6.1.0 to 6.2.0 after Windows, Linux and macOS test qualification, while preserving dependency-freshness and security-advisory monitoring semantics.
FileList
- CopyGitHubRepo.nuspec
- CopyGitHubRepo.psm1
- Private\GitHub\Set-CgrGitHubRepositorySetting.ps1
- Private\Replacement\Write-CgrSameNameRecoveryReport.ps1
- Private\Wizard\Invoke-CgrWithActivitySink.ps1
- Private\GitHub\Assert-CgrGitHubPagesPlanEvidence.ps1
- Private\Replacement\Assert-CgrExistingDestinationReplacementConfirmation.ps1
- Private\Wizard\Read-CgrWizardInput.ps1
- CopyGitHubRepo.psd1
- Private\GitHub\Enable-CgrPagesWorkflowActivationAfterRestore.ps1
- Private\Replacement\Invoke-CgrSameNameSnapshotReplacement.ps1
- Private\Wizard\Select-CgrWizardRepository.ps1
- CopyGitHubRepo.format.ps1xml
- Private\Migration\New-CgrMigrationPlan.ps1
- Private\Replacement\Invoke-CgrExistingDestinationReplacement.ps1
- Private\Wizard\Test-CgrExpectedWizardApplicationError.ps1
- Public\Get-GitHubRepository.ps1
- Private\Migration\Invoke-CgrApprovedFullHistoryVerification.ps1
- Private\Replacement\Write-CgrExistingDestinationRecoveryReport.ps1
- Private\Wizard\Read-CgrWizardRepositoryName.ps1
- Public\Copy-GitHubRepository.ps1
- Private\Migration\Copy-CgrRepositorySnapshot.ps1
- Private\Replacement\Invoke-CgrSameNameFullHistoryReplacement.ps1
- Private\Wizard\Test-CgrConsoleStylingAvailable.ps1
- Public\Start-CopyGitHubRepositoryWizard.ps1
- Private\Migration\Write-CgrMigrationPlanReport.ps1
- Private\Utility\Get-CgrObjectProperty.ps1
- Private\Wizard\Invoke-CgrRepositoryCopyWizard.ps1
- Public\Test-GitHubRepositoryMigration.ps1
- Private\Migration\Invoke-CgrNewDestinationFullHistory.ps1
- Private\Utility\Protect-CgrDiagnosticText.ps1
- Private\Wizard\Resolve-CgrWizardDestinationRepository.ps1
- Private\GitHub\Copy-CgrApprovedGitHubRelease.ps1
- Private\Migration\Invoke-CgrNewDestinationSnapshot.ps1
- Private\Git\Resolve-CgrNativeCommand.ps1
- Private\Wizard\Invoke-CgrActivityStage.ps1
- Private\GitHub\Test-CgrGitHubReleaseMigration.ps1
- Private\Migration\Write-CgrMigrationRecoveryReport.ps1
- Private\Git\Get-CgrGitCommitIdentity.ps1
- Private\Wizard\Write-CgrWizardCompletionSummary.ps1
- Private\GitHub\Assert-CgrDestinationPagesReadBack.ps1
- Private\Migration\Format-CgrMigrationPlan.ps1
- Private\Git\Invoke-CgrGitCommand.ps1
- Private\Wizard\Format-CgrConsoleStatus.ps1
- Private\GitHub\Rename-CgrGitHubRepository.ps1
- Private\Migration\Format-CgrMigrationExecutionResult.ps1
- Private\Git\Copy-CgrGitLfsObject.ps1
- Private\Wizard\ConvertTo-CgrWizardNavigationResult.ps1
- Private\GitHub\Assert-CgrDestinationPagesSource.ps1
- Private\Migration\Invoke-CgrPostVerificationConfigurationRestore.ps1
- Private\Git\Invoke-CgrNativeCommand.ps1
- Private\Repository\Get-CgrRepositoryFullHistoryIdentity.ps1
- Private\GitHub\Get-CgrGitHubReleaseSelection.ps1
- Private\Migration\Get-CgrSnapshotReleasePreservationEvidence.ps1
- Private\Wizard\Format-CgrWizardText.ps1
- Private\Repository\Get-CgrRepositoryProtectionConfiguration.ps1
- Private\GitHub\Invoke-CgrGitHubApiMutation.ps1
- Private\Migration\Write-CgrMigrationExecutionReport.ps1
- Private\Wizard\Read-CgrWizardChoice.ps1
- Private\Repository\Get-CgrSnapshotHistory.ps1
- Private\GitHub\Restore-CgrGitHubPagesConfiguration.ps1
- Private\Migration\New-CgrSnapshotReleaseCheckpointPlan.ps1
- Private\Wizard\Resolve-CgrWizardNavigationInput.ps1
- Private\Repository\Set-CgrRepositoryProtectionConfiguration.ps1
- Private\GitHub\New-CgrGitHubRepository.ps1
- Private\Migration\Invoke-CgrApprovedMigrationPlan.ps1
- Private\Wizard\New-CgrWizardActivitySink.ps1
- Private\Repository\Assert-CgrApprovedSourceState.ps1
- Private\GitHub\Get-CgrGitHubAuthenticationStatus.ps1
- Private\Migration\Copy-CgrRepositoryFullHistory.ps1
- Private\Wizard\Write-CgrWizardActivityEvent.ps1
- Private\Repository\Assert-CgrSupportedHostName.ps1
- Private\GitHub\Get-CgrGitHubPagesPlanEvidence.ps1
- Private\Migration\Invoke-CgrRepositorySnapshotVerification.ps1
- Private\Wizard\Read-CgrWizardTextValue.ps1
- Private\Repository\Get-CgrApprovedSourceState.ps1
- Private\GitHub\Get-CgrGitHubApi.ps1
- Private\Migration\Assert-CgrFullHistoryWorkspaceState.ps1
- Private\Wizard\Get-CgrActivityCompletionMessage.ps1
- Private\Repository\Get-CgrPrerequisiteStatus.ps1
- Private\GitHub\Get-CgrGitHubApiOptional.ps1
- Private\Migration\Invoke-CgrApprovedSnapshotReleaseVerification.ps1
- Private\Wizard\Test-CgrInteractiveTerminal.ps1
- Private\Repository\ConvertTo-CgrRepository.ps1
- Private\GitHub\Test-CgrGitHubPagesDriftEvidenceMatch.ps1
- Private\Migration\Invoke-CgrRepositoryFullHistoryVerification.ps1
- Private\Wizard\Send-CgrActivityEvent.ps1
- Private\Repository\ConvertTo-CgrRepositoryName.ps1
- Private\GitHub\Invoke-CgrGitHubApiReadRequest.ps1
- Private\Replacement\Get-CgrDefaultArchiveRepositoryName.ps1
- Private\Wizard\Show-CgrWizardHelp.ps1
- Private\Repository\Assert-CgrLocalResourcePreflight.ps1
- Private\GitHub\Test-CgrGitHubRepositoryExistence.ps1
- Private\Replacement\Assert-CgrSameNameReplacementConfirmation.ps1
- Private\Wizard\Write-CgrWizardMessage.ps1
- Private\Repository\Get-CgrRepository.ps1
- Private\GitHub\Test-CgrGitHubPagesMigration.ps1
- Private\Replacement\Assert-CgrReplacementRepositoryIdentity.ps1
- Private\Wizard\Get-CgrActivityTerminalState.ps1
- Private\Repository\Get-CgrRepositoryDefaultBranchTree.ps1