Migrate Azure Devops On-Premise repository with PRs, branches, history into GitHub Enterprise #167809
Replies: 3 comments 1 reply
-
|
Hey Buddy... — ati2gh actually does support both ADO Services and ADO Server (on‑prem), and it will migrate Git repos with PRs, branches, and full commit history. It looks like your migration failed because the preflight check misinterpreted your on‑prem ADO URL—it prepended dev.azure.com/ to your transport URL, leading to validation failures. To fix this:
|
Beta Was this translation helpful? Give feedback.
-
|
the tool is double-encoding your on-prem URL; that's why it's failing, look at your verbose logs: it's prepending https://dev.azure.com/ to your already URL-encoded on-prem address ado2gh is primarily designed for Azure DevOps Services (cloud), not Server (on-prem). The URL handling assumes the cloud format maybe try with just the hostname without protocol: the "network availability" error is misleading, it's really a URL parsing issue |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the detailed breakdown — this is a known limitation when using Here’s what’s going wrong: 🔍 Root of the issue: 🛠️ What you can try instead: Also:
📝 Update Suggestion: Let me know if you'd like help creating a script to migrate using Git directly (mirror clone + push). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Select Topic Area
Question
Body
I found ado2gh extension from gh tool, which supposedly can migrate repositories from Azure Devops Server ( on-prem installation ) into Github enterprise Organization. Can someone confirm that it works with bot Azure Devops Services and Azure Devops Server ?
If so, then for me it fails.
I tried
root@pt-deb01:~# export GH_PAT="ghp_FGp82XUcek43gfdDcg1hPld3dvgZqx32l5mB" root@pt-deb01:~# export ADO_PAT="s9ldha34fmxv625rjfi3h44o6t4lfvpwnkgy7nos5a2bgktcrswq"gh ado2gh migrate-repo --ado-org https://azuredevops.mycompany.local/DefaultCollection --ado-team-project ProjectName --ado-repo repo-name --github-org org-name --github-repo repo-nameAnd the error is:
[2025-07-28 12:46:58] [WARNING] Could not check GitHub availability from githubstatus.com. See https://www.githubstatus.com for details. [2025-07-28 12:46:58] [INFO] You are running an up-to-date version of the ado2gh CLI [v1.17.0] [2025-07-28 12:46:58] [INFO] ADO ORG: https://azuredevops.mycompany.local/DefaultCollection [2025-07-28 12:46:58] [INFO] ADO TEAM PROJECT: ProjectName [2025-07-28 12:46:58] [INFO] ADO REPO: repo-name [2025-07-28 12:46:58] [INFO] GITHUB ORG: org-name [2025-07-28 12:46:58] [INFO] GITHUB REPO: repo-name [2025-07-28 12:46:58] [INFO] Migrating Repo... [2025-07-28 12:47:01] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:48:02] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:49:02] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:50:03] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:51:03] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:52:04] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:53:05] [INFO] Migration in progress (ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE). State: PENDING_VALIDATION. Waiting 60 seconds... [2025-07-28 12:54:05] [ERROR] Migration Failed. Migration ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE [2025-07-28 12:54:05] [INFO] Migration log available at or by runninggh ado2gh download-logs --github-org org-name --github-repo repo-name[2025-07-28 12:54:05] [ERROR] PreflightCheckJob failed due to network availability issues. Please try again in 30 minutes. If this happens repeatedly, please contact GitHub Support.This is what the logs state:
[2025-07-28 12:54:05] [ERROR] Migration Failed. Migration ID: RM_kgDaACRjOWE4MDUxYi04NDY0LTQ1YjYtYTM3NC1mZmQwMzNhNzliNWE [2025-07-28 12:54:05] [INFO] Migration log available at or by runninggh ado2gh download-logs --github-org org-name --github-repo repo-name[2025-07-28 12:54:05] [ERROR] OctoshiftCLI.OctoshiftCliException: PreflightCheckJob failed due to network availability issues. Please try again in 30 minutes. If this happens repeatedly, please contact GitHub Support. at OctoshiftCLI.AdoToGithub.Commands.MigrateRepo.MigrateRepoCommandHandler.Handle(MigrateRepoCommandArgs args) at OctoshiftCLI.Extensions.CommandExtensions.RunHandler[TArgs,THandler](TArgs args, ServiceProvider sp, CommandBase2 command)at OctoshiftCLI.Extensions.CommandExtensions.<>c__DisplayClass1_0
3.<<ConfigureCommand>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Invocation.AnonymousCommandHandler.InvokeAsync(InvocationContext) at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<<UseParseErrorReporting>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseHelp>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<<UseTypoCorrections>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__18_0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseParseDirective>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__5_0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass8_0.<<UseExceptionHandler>b__0>d.MoveNext()Of course I replaced all sensitive data with dummy values.
UPDATE:
I see now that the verbose logs have appended https://dev.azure.com/ to my on-prem url as this:
"https://dev.azure.com/https%3A%2F%2Fazuredevops.mycompany.local%2FDefaultCollection/ProjectName/_git/repo-name
How can I force it to use url from my on-prem server ?
Beta Was this translation helpful? Give feedback.
All reactions