Skip to content

Releases: github/gh-gei

v0.11

30 Mar 17:38
937314c
Compare
Choose a tag to compare
  • 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.

v0.10

28 Mar 19:19
39045ea
Compare
Choose a tag to compare
  • 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

v0.9

15 Feb 21:40
6ef3765
Compare
Choose a tag to compare
  • 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.

v0.8

07 Feb 16:01
1f49dab
Compare
Choose a tag to compare
  • 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.

v0.7

24 Jan 22:25
70408d4
Compare
Choose a tag to compare

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.

v0.6.1

18 Jan 05:18
d1bda3b
Compare
Choose a tag to compare

Release Notes

  • fixed bug where using --ssh flag would cause the migration to crash

v0.6

17 Jan 20:43
0332324
Compare
Choose a tag to compare

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.

v0.5

13 Dec 18:17
4e09a94
Compare
Choose a tag to compare
  • generate-script with the --repos-only option no longer requires the Build scope on the ADO PAT

v0.4

06 Dec 19:04
2802d53
Compare
Choose a tag to compare
  • 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.

v0.3

05 Nov 05:04
554b7b6
Compare
Choose a tag to compare
  • 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