gh-bbs2gh

Migration CLI for BitBucket Server to GitHub migrations

Stars
9
Committers
2

Bot releases are visible (Hide)

gh-bbs2gh - v1.1.0 Latest Release

Published by gh-gei-ci-bot about 1 year ago

  • Log migration warnings count after a migration completes
gh-bbs2gh - v1.0.0

Published by gh-gei-ci-bot about 1 year ago

  • BREAKING CHANGE: Drop deprecated --wait option for migrate-repo and migrate-org commands
  • Allow Enterprise Managed Users (EMU) organizations to skip the invitation process in the reclaim-mannequin command with the --skip-invitation option
  • Fix target repo existence check in GitHub Enterprise Server migrations so it doesn't error if the target repo used to exist, but has been renamed
  • Fail fast if the target GitHub repo already exists in bbs2gh migrate-repo
gh-bbs2gh - v0.49

Published by gh-gei-ci-bot about 1 year ago

  • Validate that the --ghes-api-url is a valid URL in gh gei generate-script
  • Allow CLI to fail fast when an unauthorized token is provided by preventing retry logic on 401 errors
  • Improve performance when reclaiming a single mannequin with reclaim-mannequin
  • Improve logging for reclaim-mannequin command
  • Ensure that CLI runs have separate log files, even if they start at the same time, by adding the process ID to the filenames
gh-bbs2gh - v0.48

Published by gh-gei-ci-bot over 1 year ago

  • BREAKING CHANGE: Require the AWS region to always be specified with the --aws-region argument or AWS_REGION environment variable if using AWS S3 for blob storage. Previously, this was optional (with a warning) if you weren't specifying an AWS session token.
  • BREAKING CHANGE: Drop support for deprecated AWS_ACCESS_KEY and AWS_SECRET_KEY environment variables in gh gei and gh bbs2gh. The AWS S3 credentials can now only be configured using the industry-standard AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY variables or command line arguments.
  • BREAKING CHANGE: Require the Bitbucket Server URL, project key and repo to always be provided for bbs2gh migrate-repo, even if using the upload-and-migrate (--archive-path) or migrate-only (--archive-url) flows
  • Increase timeouts in archive uploads to AWS to prevent timeouts during large uploads
gh-bbs2gh - v0.47

Published by gh-gei-ci-bot over 1 year ago

  • Include the databaseId (GUID) in the verbose logs when starting a migration
  • Fix recommended gh gei, gh bbs2gh and gh ado2gh commands in log output
gh-bbs2gh - v0.46

Published by gh-gei-ci-bot over 1 year ago

  • Add additional error handling to reclaim-mannequin process
  • Removed ability to use gh gei to migrate from ADO -> GH. You must use gh ado2gh to do this now. This was long since obsolete, but was still available via hidden args - which have now been removed.
  • Add bbs2gh inventory-report command to write data available for migrations in CSV form
gh-bbs2gh - v0.45

Published by gh-gei-ci-bot over 1 year ago

  • Improve log sanitization to also remove secret values that have been URL encoded
  • Warn when the --ssh-port argument for bbs2gh migrate-repo and bbs2gh generate-script is set to the default port for Git operations
gh-bbs2gh - v0.44

Published by gh-gei-ci-bot over 1 year ago

  • Hide the reclaim-mannequin --skip-invitation option from documentation, since it's still under development and not yet available
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