Releases: github/gh-gei
Releases · github/gh-gei
v0.11
- 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
- Add
wait-for-migration
command. It waits for the provided migration and returns as soon as it is complete. - Add
--wait
option tomigrate-repo
command. If set totrue
(default isfalse
) it will synchronously wait for the migration to finish, otherwise it will just queue up a repo migration and return themigration-id
. - Support parallel migrations with
generate-script
for bothado2gh
andgh 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 ingenerate-script
andmigrate-repo
commands for bothado2gh
andgh 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
- 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
- Adds the ability to migrate ADO repos using the
gh gei
CLI. This overlaps with some of the capabilities of ado2gh, but thegh 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
optiongh gei migrate-repo
now has--ado-source-org
and--ado-team-project
options
- Added
grant-migrator-role
andrevoke-migrator-role
commands togh 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
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
Release Notes
- fixed bug where using --ssh flag would cause the migration to crash
v0.6
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
- generate-script with the --repos-only option no longer requires the Build scope on the ADO PAT
v0.4
- 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
- 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