CopyGitHubRepo
0.4.2
PowerShell module for safely copying and migrating GitHub repositories with clean Snapshot or history-preserving FullHistory modes. For documentation, visit https://infoconex.github.io/copy-github-repo/
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
### Changed
- Added the canonical documentation URL to the PowerShell Gallery package description, preserving existing Snapshot and FullHistory discovery language and validating the documentation link in source and staged package manifests.
- Moved PowerShell Gallery installation, GitHub CLI authentication, guided wizard launch, and safe scripted `-PlanOnly` preview to the beginning of the README and user guide; exposed Get Started in GitHub Pages navigation while preserving detailed installation options and migration safety guidance.
### Fixed
- Preserved reviewed source commit/tree identity and available copied-content verification in existing-destination Snapshot replacement recovery reports; when a child migration fails without returning a result, actual copied state remains explicitly unknown rather than being inferred from the source plan.
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