gh-gei

Migration CLI for GitHub to GitHub migrations

MIT License

Stars
310
Committers
41

Bot releases are visible (Hide)

gh-gei - v0.20

Published by github-actions[bot] over 2 years ago

  • fixed a bug where generate-script would not properly handle Team Projects with spaces (or other invalid for github chars) in the name
  • fixed bug where inventory-report would fail if your computer's datetime format settings were dd/mm/yyyy
  • Support excluding releases when --skip-releases flag is provided in gh gei migrate-repo command for GHES migration path. Previously releases were excluded by default but now they are going to be included unless --skip-releases is provided.
gh-gei - v0.19

Published by github-actions[bot] over 2 years ago

  • Added inventory-report command to ado2gh. This command will generate a few CSV reports of all the orgs, team projects, repos and pipelines it can access. Along with some extra information that can be useful when planning a large migration (e.g. PR count per repo, most active contributer, pushes in past year, last push date, etc)
  • Add --skip-releases flag to gh gei for migrate-repo and generate-script commands to support skipping releases when migrating.
  • wait-for-migration progress report in both ado2gh and gh gei now logs the target repository name in addition to migration id for more readability.
  • Update share-service-connection command to be idempotent. If you try to share a service connection with a Team Project where it has been previously shared, the command will now do nothing and return success (previously it would error and fail).
gh-gei - v0.18

Published by github-actions[bot] over 2 years ago

  • Add download-logs command to download migration logs
  • Add --download-migration-logs option to generate-script command
  • Log GitHub request id into the verbose log for each GitHub API call (this can be useful for GitHub support if something goes wrong)
gh-gei - v0.17

Published by github-actions[bot] over 2 years ago

  • Increased download/upload timeouts when migrating from GHES (some customers were hitting timeout errors with large repos and/or slow connections)
gh-gei - v0.16

Published by github-actions[bot] over 2 years ago

  • Add capability to reclaim mannequins in bulk by using a CSV file
    • Added new command generate-mannequin-csv
    • Updated reclaim-mannequin command to accept --csv argument
gh-gei - v0.15

Published by github-actions[bot] over 2 years ago

  • integrate-boards no longer requires a PAT with the All Accessible Organizations setting
  • Fixed incorrect repo url in migration logs when migrating from GHES
  • Added reclaim-mannequin command to ado2gh (previously it was only available in gh gei)
gh-gei - v0.14

Published by github-actions[bot] over 2 years ago

  • Significant overhaul of how the generate-script command args work. Now by default it will generate a minimal script that only migrates the repos, and you will need to pass additional flags to script out additional automation (e.g. --rewire-pipelines, --create-teams, etc). The --all flag will include all the automation in the script (the same as the previous version with no flags).
  • Updates most commands to be idempotent. They will check if there is anything to do, and if not they will print a message to that effect and complete successfully. E.g. create-team will check if the team already exists and if so exit as success (compared to previously where it would crash). The following commands have been updated:
    • migrate-repo
  • A generated script using ado2gh or gh gei now include the CLI version that was used to generate it.
gh-gei - v0.13

Published by github-actions[bot] over 2 years ago

  • Compare the current running version against the latest version available on github.com and print out a message letting you know if you are up to date or not
  • Add reclaim-mannequin command. Reclaims a mannequin, by sending a mannequin attribution invitation to the target user. If the mannequin has been previously mapped (and accepted) it will refuse to do so unless the --force flag is set.
  • Sometimes wait-for-migration would error with a 502 error, now it will retry automatically when this happens
  • Sometimes create-team would error with a 404 error, now it will retry automatically when this happens
gh-gei - v0.12

Published by github-actions[bot] over 2 years ago

  • Add ado-team-project parameter to ado2gh generate-script command
  • Add ado-team-project parameter to gh gei generate-script command
  • All commands in both ado2gh and gei now optionally accept required PATs as args as an alternate way to setting them as env variables.
gh-gei - v0.11

Published by github-actions[bot] over 2 years ago

  • Updating commands to be idempotent. They will check if there is anything to do, and if not they will print a message to that effect and complete successfully. E.g. create-team will check if the team already exists and if so exit as success (compared to previously where it would crash). The following commands have been updated:
    • disable-ado-repo
  • The change to automatically set the +x bit on the generated migration script has been rolled back (introduced in v0.10). We discovered a bug with this that caused generate-script to crash on MacOS. We're temporarily rolling this back to unblock customers while we investigate and fix the problem.
gh-gei - v0.10

Published by github-actions[bot] over 2 years ago

  • Add wait-for-migration command. It waits for the provided migration and returns as soon as it is complete.
  • Add --wait option to migrate-repo command. If set to true (default is false) it will synchronously wait for the migration to finish, otherwise it will just queue up a repo migration and return the migration-id.
  • Support parallel migrations with generate-script for both ado2gh and gh gei. generate-script now by default generates a script to perform migrations in parallel. Adding --sequential flag will force migrations to perform in a sequential (one by one) fashion.
  • Deprecate --ssh flag in generate-script and migrate-repo commands for both ado2gh and gh gei.
  • Add powershell shebang command for execution of script on unix based systems.
  • Add executable bit on generated scripts in unix based systems.
  • Updates some commands to be idempotent. They will check if there is anything to do, and if not they will print a message to that effect and complete successfully. E.g. create-team will check if the team already exists and if so exit as success (compared to previously where it would crash). The following commands have been updated:
    • configure-autolink
    • create-team
gh-gei - v0.9

Published by github-actions[bot] over 2 years ago

  • Remove gh gei generate-archive
  • Update gh gei migrate-repo to allow for migrations from GHES instances. When --ghes-api-url is passed in, it requires an Azure Blob Storage connection string --azure-storage-connection-string and an optional flag to disable SSL verification --no-ssl-verify. This migration path generates migration archives on the source, uploads them to Azure Blob Storage using the connection string, then kicks off a GitHub Enterprise Importer migration using the uploaded migration archives.
  • Modify gh gei migrate-repo to optionally accept two pre-generated archive urls to start a migration (not commonly used) and a target api url parameter
  • Fixed a bug where configure-autolink command would fail if your ADO team project had a space in it
  • Update gh gei generate-script to allow for migrations from GHES by passing the options --ghes-api-url, --azure-storage-connection-string, --no-ssl-verify.
gh-gei - v0.8

Published by github-actions[bot] over 2 years ago

  • Adds the ability to migrate ADO repos using the gh gei CLI. This overlaps with some of the capabilities of ado2gh, but the gh gei will not include all the extra ADO migration capabilities like re-wiring pipelines and boards integration.
    • gh gei generate-script now has an --ado-source-org option
    • gh gei migrate-repo now has --ado-source-org and --ado-team-project options
  • Added grant-migrator-role and revoke-migrator-role commands to gh gei
  • Add gei command path for generating a migration archive gh gei generate-archive which uses the migration api on that instance to generate two archives of data, the metadata for a repository and the git data for that repository (this will primarily be useful for migrations from GHES)
  • The script generated from generate-script will now stop on the first command that fails. Previously this script could be renamed between .ps1 and .sh, but with this change it will now only work as a .ps1 script.
gh-gei - v0.7

Published by github-actions[bot] over 2 years ago

Release Notes

  • Do not log the error's stack trace to console in non-verberse mode.
  • Show a generic error message instead of the actual one for unhandled exceptions in non-verbose mode.
  • Exit code is now 1 instead of 0 in case of an error.
  • Errors are written to std error instead of std out.
  • Adding Support to get multi page results from Github API.
  • The Github to Github migrations are no longer limited to 30 repos.
gh-gei - v0.6.1

Published by github-actions[bot] almost 3 years ago

Release Notes

  • fixed bug where using --ssh flag would cause the migration to crash
gh-gei - v0.6

Published by github-actions[bot] almost 3 years ago

Release Notes

  • Renamed the CLI from octoshift to ado2gh to indicate that this one is specifically for Azure DevOps -> GitHub migrations (in the future there will be additional CLI's for other migration scenarios)
  • Released an extension for the official GitHub CLI that adds support for GitHub -> GitHub migrations (GHEC only for now). To install run: gh extension install github/gh-gei. To use run: gh gei --help
  • Automatically remove secrets from log files and console output (previously the verbose logs would contain your PAT's)
  • Added --ssh option to generate-script and migrate-repo commands (in both ado2gh and gh). This forces the migration to use an older version of the API's that uses SSH to push the repos into GitHub. The newer API's use HTTPS instead. However some customers have been running into problems with some repos that work fine using the older SSH API's. In the future this option will be deprecated once the issues with the HTTPS-based API's are resolved.
gh-gei - v0.5

Published by github-actions[bot] almost 3 years ago

  • generate-script with the --repos-only option no longer requires the Build scope on the ADO PAT
gh-gei - v0.4

Published by github-actions[bot] almost 3 years ago

  • Added descriptions to all commands in the built-in CLI help
  • add-team-to-repo now includes built-in help listing the valid values for the --role argument (octoshift add-team-to-repo --help), the CLI also validates the value of --role before attempting to run.
  • integrate-boards command now expects a single call per repo (instead of single call per team project with a list of repos). This will enable splitting a single team project into multiple batches for migration purposes. If no Boards-GitHub connection exists it will create it, otherwise it will add the repo to the existing connection. It assumes either 0 or 1 boards connection exists per team project (multiple connections in a single team project has not been tested).
  • migrate-repo now uses the GH_PAT for git push. The GH_PAT needs to have the repo scope in order for the git push to work.
gh-gei - v0.3

Published by github-actions[bot] almost 3 years ago

  • 2x timestamped log files are generated on every run, timestamp.octoshift.log and timestamp.octoshift.verbose.log. A future release will include additional functionality to avoid the log file sprawl this may result in.
  • All commands support --verbose flag, this flag only controls what is output to the console. The verbose log file will always be created
  • Every API call will generate verbose output with the request and response contents
gh-gei - v0.2

Published by github-actions[bot] almost 3 years ago

  • Adding automated release notes to the publishing process
Badges
Extracted from project README
Actions Status: CI
Related Projects