Skip to content

conijnio/pull-request-codecommit

Repository files navigation

pull-request-codecommit

License Maintenance GitHub release Continuous Integration codecov

This tool makes it easy to create pull requests for AWS CodeCommit. It relies on the Conventional Commits standard. It looks at the git commits between the current and the destination branch. Then it tries to create a pull request with this information as input.

Installation

You can install the pull-request-codecommit tool by running the following command:

pip install pull-request-codecommit

You can update an existing installation with the following command:

pip install --upgrade pull-request-codecommit

Installation in venv

Typically, you would want to run your dependencies isolated. You can install [pull-request-codecommit][pull-request-codecommit] in a venv using the following commands:

python -m venv .venv
source .venv/bin/activate
pip install pull-request-codecommit

You need to add the .venv/bin/ path to your system PATH. This is needed for the git pr commands to function.

Configuration

The tool uses the following file ~/.aws/pull-request-codecommit. It will first load the default profile and then, if provided the profile specific settings.

[profile default]
branch=main

[profile acme-profile]
branch=develop

Usage

To use pull-request-codecommit you just execute the following command:

git pr

Auto merge

In some cases it makes sense to directly merge the pull request, in those cases you can use:

git pr --auto-merge

This will directly merge the pull request using the fast-forward merge strategy. If the merge is successful, it will:

  • Merge and close the pull request.
  • Checkout the destination branch.
  • Pull the latest changes. (This will pull the just merged changes locally)
  • Remove the working branch.

From this point you are ready for the next change.

Update existing pull request

When a pull requests exists a proposal is made to update the existing pull request.

Overwrite target branch

When you want to overwrite the target branch you need to supply the --branch <name> option:

git pr --branch my-target-branch