gh-bbs2gh

Migration CLI for BitBucket Server to GitHub migrations

Stars
9
Committers
2

Bot releases are hidden (Show)

gh-bbs2gh - v0.43

Published by dylan-smith over 1 year ago

  • Add new '--skip-invitation' flag for reclaim-mannequin to allow EMU organizations to reclaim mannequins without an email invitation
  • Write warnings to log and console if GitHub is experiencing an availability incident.
  • Improve the error thrown when you have insufficient permissions for the target GitHub organization to explicitly mention the relevant organization
  • Write log output prior to making API calls in wait-for-migration commands
  • Support forked repositories in Bitbucket Server migrations
gh-bbs2gh - v0.42

Published by dylan-smith over 1 year ago

  • Include the migration ID in the default output filename when running download-logs
  • Include the date with the timestamp when writing to the log
  • When blob storage credentials are provided to the CLI but will not be used for a GHES migration, log a clear warning, not an info message
  • Fix support for Azure Blob Storage in bbs2gh migrations when the archive is larger than 2GB
  • Unhide the --archive-download-host argument in the documentation for gh bbs2gh migrate-repo and gh bbs2gh generate-script
gh-bbs2gh - v0.41

Published by dylan-smith over 1 year ago

  • migrate-repo commands now take a --target-repo-visibility flag ("public", "private", or "internal"; defaults to "private") to set the visibility of the imported repo
  • gh gei generate-script will now inspect the source repo visibility and add the appropriate --target-repo-visibility flag to the generated script. ado2gh generate-script and bbs2gh generate-script will include the --target-repo-visibility flag in the generated script but it will always be set to private.
gh-bbs2gh - v0.40

Published by dylan-smith over 1 year ago

  • Fixed a bug when migrating from GHES where we would do a bunch of unnecessary retries at the start making things slower than they needed to be
gh-bbs2gh - v0.39

Published by dylan-smith over 1 year ago

  • Fixed a bug where ADO Team Projects or Organizations with special characters would fail to migrate
  • When using gh gei generate-script the script will now validate that the necessary environment variables are set
  • More robust retry logic, especially on http request timeouts
  • Retry GHES archive generation process in gh gei migrate-repo in case of any failure
  • Changed the default behavior of migrate-repo and migrate-org to wait for the migration to finish (previously the default was to only queue it unless you passed --wait). If you want the previous default behavior of queuing it only (e.g. for parallel scripts that queue many migrations at once) there is a new --queue-only option. The --wait option still works but is now obsolete and will print a warning if used, and will be removed in a future version. generate-script commands have all been updated to generate scripts with the new options/defaults. Any already existing migration scripts that relied on the default (i.e. parallel) behavior, will continue to work but will now run sequentially instead of in parallel. They should be updated to pass in --queue-only to retain the previous parallel behavior (or re-generated with the updated generate-script command).
gh-bbs2gh - v0.38

Published by dylan-smith over 1 year ago

  • Introduce a new command gh gei migrate-code-scanning-alerts which migrates all code-scanning analysis and alert states for the default branch. This is useful if you want to migrate the history of code-scanning alerts together with their current state (open, reopened, fixed). For dismissed alerts, the dismissed-reason (e.g. won't fix, false positive etc) and dismissed-comment will also be migrated to the target repo.
  • Update gh bbs2gh generate-script so it supports more than 25 projects/repos
  • Rename --bbs-project-key to --bbs-project in gh bbs2gh generate-script for consistency
  • Fix a bug where create-team might not work due to a race condition
  • When using gh ado2gh generate-script or gh bbs2gh generate-script the script will now validate that the necessary environment variables are set
  • Make API calls to GitHub.com that require pagination more resilient by retrying on HTTP failures
gh-bbs2gh - v0.37

Published by dylan-smith over 1 year ago

  • Improve error message when migrate-repo is used with a target personal access token (PAT) with insufficient permissions
  • Ensure --no-ssl-verify flag is honored when downloading archives from GHES
  • --bbs-project and --bbs-repo are now both required in gh bbs2gh migrate-repo command when --bbs-server-url is set
  • Added --keep-archive flag to gh gei migrate-repo and gh gei generate-script. When migrating from GHES this will skip the step where we delete the archive from your machine, leaving it around as a local file.
  • Continue to next mannequin mapping in gh gei reclaim-mannequin --csv if a username doesn't exist
  • Display more helpful message when the Bitbucket export archive is not found when using gh bbs2gh migrate-repo
gh-bbs2gh - v0.36

Published by dylan-smith over 1 year ago

  • Adds retry logic during GHES archive generation in cases of transient failure
  • Added log output linking to migration log URL after migration completes
  • Add support for specifying --archive-download-host with gh bbs2gh migrate-repo and gh bbs2gh generate-script, rather than taking the host from the --bbs-server-url
  • Improve handling of GraphQL errors, throwing an exception with the specific error message returned by the API
  • Validate AWS region when using Amazon S3 to upload the migration archive in gh gei and gh bbs2gh
gh-bbs2gh - v0.35

Published by dylan-smith over 1 year ago

  • Fix gh bbs2gh grant-migrator-role so it doesn't throw System.InvalidOperationException
  • Rename AWS_ACCESS_KEY and AWS_SECRET_KEY environment variables to AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY respectively to align with the environment variables that the AWS CLI already uses. Old environment variables are still supported but they will be removed in future.
  • Send a User-Agent header with the current CLI version when downloading migration archives from GitHub Enterprise Server
  • Add support for migration archives larger than 2GB when using the blob storage flow
  • Add --no-ssh-verify option to gh bbs2gh generate-script and gh bbs2gh migrate-repo commands to support migrating from a Bitbucket Server or Bitbucket Data Center instance that uses a self-signed SSL certificate
gh-bbs2gh - v0.34

Published by dylan-smith over 1 year ago

  • Create shared access signature (SAS) with read-only permissions - not read-write - when generating Azure Blob Storage URL
  • Fixes bug where CLI would crash if the source was GHAE (while trying to parse the version)
  • Add support for authenticating with AWS session tokens when using AWS S3 for archive upload in gh gei and gh bbs2gh. When specifying a session token, the AWS region must also be specified.
  • Make parallel migrations scripts generated by gh gei generate-script and gh ado2gh generate-script more resilient by not halting the entire script if queuing a repo migration fails.
gh-bbs2gh - v0.33

Published by dylan-smith over 1 year ago

  • Added support for x86 Windows machines with new windows-386 build
  • Added logic to check if a target repo exists before generating GHES archives
  • Fixed reclaiming a single mannequin using reclaim-mannequin with the --mannequin-user and --target-user parameters
  • Added logic to ensure target org exists before generating GHES archives
gh-bbs2gh - v0.32

Published by dylan-smith over 1 year ago

  • Improve error messages when the specified target organization or enterprise cannot be found
  • Mask the value for AWS_ACCESS_KEY and AWS_SECRET_KEY parameters in log output
  • Fix log output so we don't say we've finished upload to Azure Blob Storage when you're actually using Amazon S3
  • Extend the expiration of blob storage signed URLs from 24hrs to 48hrs so migration can still be successful even if there is a long queue of migrations
  • Skip the upload to Azure/AWS blob storage when migrating from GHES 3.8+, as GHES will now handle putting the archives into blob storage
  • Fixed a bug where bad credentials were incorrectly being treated as rate-limit errors
gh-bbs2gh - v0.31

Published by dylan-smith almost 2 years ago

  • introduced a new command gh gei migrate-secret-alerts which migrates the state and resolution of secret scanning alerts. This is useful if you have existing secret scanning alerts which have been closed (e.g. revoked, false positive, etc). The state (closed) and resolution will be migrated over to the target repo with this command.
  • make gh gei migrate-org visible in the help menu as this is now a published feature of GEI see more. We are now capable of moving an org with all their repositories, teams and certain cross repository references by running one command. ( Currently does not support GitHub Enterprise Server )
gh-bbs2gh - v0.30

Published by dylan-smith almost 2 years ago

  • Added logging to gh gei wait-for-migration and gh gei migrate-org --wait, showing the number of repos that have been migrated so far
gh-bbs2gh - v0.29

Published by dylan-smith almost 2 years ago

  • Added additional retry logic covering the case when polling for migration status fails for any reason (along with a few other situations)
  • Added --aws-bucket-name to gh gei generate-script and removed --azure-storage-connection-string.
gh-bbs2gh - v0.28

Published by dylan-smith about 2 years ago

  • Fixed a bug where uploading archives to S3 still required --azure-storage-connection-string to be passed.
gh-bbs2gh - v0.27

Published by dylan-smith about 2 years ago

  • 6 months ago in v0.10, we deprecated the --ssh flag, making it silently do nothing. Now, we’ve removed the flag entirely, so the CLI will error if you try to specify it. If you have any scripts that include the --ssh flag, you must remove that flag or the script will break.
  • fixed a bug where secrets were not getting scrubbed from the logs in some circumstances
  • If create-team fails when linking an IdP group with an HTTP 400, we will retry
  • If create-team fails when removing the initial team member, it will retry
  • In v0.25 we started publishing ado2gh as an extension to the gh CLI. However, we didn't update ado2gh generate-script to use the new syntax in the generated migration script. Now it will, and you will need the gh ado2gh extension installed in order to run the generated migration script.
  • Added --ghes-api-url as an optional arg to the grant-migrator-role and revoke-migrator-role commands for both ado2gh and gei.
  • Added AWS support for archive uploads to gei using the --aws-bucket-name, --aws-access-key and --aws-secret-key arguments.
gh-bbs2gh - v0.26

Published by dylan-smith about 2 years ago

  • Retry all failed GET requests made to Github, Azure Devops, and Bitbucket Server.
gh-bbs2gh - v0.25

Published by dylan-smith about 2 years ago

  • We are now shipping all functionality for Azure DevOps -> GitHub migrations as a new extension to the GitHub CLI. Run gh extension install github/gh-ado2gh to install. All commands are the same as the previous ado2gh CLI (e.g. gh ado2gh generate-script). If you were previously using gh gei to handle ADO migrations (instead of the separate ado2gh stand-alone CLI), that functionality has now been moved to the gh ado2gh extension. gh gei is solely used for GitHub -> GitHub migration scenarios.
    • We will continue shipping ado2gh stand-alone CLI in this release and probably the next couple, after that the only way to acquire new versions will be via the gh extension.
    • Technically in this release the ADO capabilities in gh gei have only been hidden from the built-in help, but will still work and give the user a warning that they should be using gh ado2gh instead. In a future release we will remove them entirely.
    • Our docs have been updated to reflect these changes and can be accessed here: https://docs.github.com/en/early-access/enterprise-importer
gh-bbs2gh - v0.24

Published by dylan-smith about 2 years ago

  • Added --lock-source-repo option to gh gei migrate-repo and gh gei generate-script commands. This will make the source repo read-only as part of the migration.