Pulley-GitLab
An Easy GitLab Merge Request Lander
Introduction
Landing a merge request from GitLab can be messy. You can push the merge button, but that'll result in a messy commit stream and external ticket trackers that don't automatically close tickets.
Additionally you can pull the code and squash it down into a single commit, which lets you format the commit nicely (closing tickets on external trackers) - but it fails to properly close the merge request.
Pulley-GitLab is a tool that uses the best aspects of both techniques. Merge requests are pulled and merged into your project. The code is then squashed down into a single commit and nicely formatted with appropriate bug numbers and links. Finally the commit is pushed and the merge request is closed with a reference to the commit.
Getting Started
Install
Make sure you have Node.js and then run npm install -g pulley-gitlab
in Terminal.
Use
Open the target repo in Terminal and run pulley-gitlab PID
, where PID is the Merge Request ID.
Example
Running pulley 332
on the jQuery repo yielded the following closed merge request and commit.
Contribute and Test
In order to test your changes to pulley, you need the ability to:
- Open and close merge requests
- Push to a branch on a repo
Essentially, you need your own repo, and the ability to issue merge requests against that repo. Fortunately, GitLab allows you to issue merge requests against your own repo from one branch to another. Here are the steps:
- Fork pulley-gitlab
- Checkout the
test
branch - Branch off from the
test
branch to another branch namedtest-1
- Create a commit on the
test-1
branch - Publish the
test-1
branch - Push the commit to the
test-1
branch on your fork of pulley-gitlab - Open a merge request from
test-1
totest
on your own repo - Use pulley to merge your merge request, and ensure everything went smoothly
- Submit your real merge request with your changes
Please lend a hand!