Giter Site home page Giter Site logo

backport's Introduction

backport

Build Status NPM version dependencies Status Coverage Status

A simple CLI tool that automates the process of backporting commits

Demonstration gif

What is backporting?

Backporting is the action of taking parts from a newer version of a software system [..] and porting them to an older version of the same software. It forms part of the maintenance step in a software development process, and it is commonly used for fixing security issues in older versions of the software and also for providing new features to older versions.

Source: https://en.wikipedia.org/wiki/Backporting

Who is this tool for?

If your development workflow looks something like this:

  1. Write some code, merge those changes to master (eg. using a pull request)
  2. Cherry-pick one or more commits from master onto one or more branches
  3. Push those branches and a create new backport pull requests

Then backport might save you a lot of time and effort. The CLI will ask you which commit to backport, and to which branch and the cherry-pick the commit, and create a pull request towards the correct branch.

Requirements

  • Node 8 or higher

Install

npm install -g backport

After installation you must update the global config in ~/.backport/config with your Github username and a Github access token. More info here

Usage

Run the CLI in your project folder (eg. in the Kibana folder):

$ backport

Follow the steps. You can use the arrow keys to choose options, <space> to select checkboxes and <enter> to proceed.

Options

Option Description Accepts
--all Show all commits boolean (default: false)
--branch Branch to backport array (default: [])
--multiple Backport multiple commits and/or branches boolean
--upstream Name of repository string
--sha Commit sha to backport string
--help Show help
-v, --version Show version number

Documentation

Contributing

See CONTRIBUTING.md

backport's People

Contributors

sorenlouv avatar greenkeeper[bot] avatar w33ble avatar vanjacosic avatar cjcenizal avatar exekias avatar spalger avatar timroes avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.