Skip to content

FrNecas/rebase-helper

 
 

Repository files navigation

Welcome to rebase-helper

Code Health GitLab CI build status Travis CI build status Documentation build status

There are several steps that need to be done when rebasing a package. The goal of rebase-helper is to automate most of these steps.

General workflow

  • rebase-helper-workspace and rebase-helper-results directories are created
  • original SPEC file is copied to rebase-helper-results/rebased-sources directory and its Version tag is modified
  • old and new source tarballs are downloaded and extracted to rebase-helper-workspace directory
  • downstream patches are rebased on top of new sources using git-rebase, resulting modified patches are saved to rebase-helper-results/rebased-sources directory
  • old and new source RPMs are created and built with selected build tool
  • multiple checker tools are run against both sets of packages and their output is stored in rebase-helper-results/checkers directory
  • rebase-helper-workspace directory is removed

Patch rebasing workflow

  • new git repository is initialized and the old sources are extracted and commited
  • each downstream patch is applied and changes introduced by it are commited
  • new sources are extracted and added as a remote repository
  • git-rebase is used to rebase the commits on top of new sources
  • original patches are modified/deleted accordingly
  • resulting files are stored in rebase-helper-results/rebased-sources
  • diff against original files is saved to rebase-helper-results/changes.patch

How to run rebase-helper

Execute rebase-helper from a directory containing SPEC file, sources and patches (usually cloned dist-git repository).

There are two ways how to specify the new version. You can pass it to rebase-helper directly, e.g.:

rebase-helper 3.1.10

or you can let rebase-helper determine it from the new version tarball, e.g.:

rebase-helper foo-4.2.tar.gz

Starting with rebase-helper 0.10.0 you don't have to specify the new version at all, and rebase-helper will attempt to determine it automatically using one of available versioneers.

For complete CLI reference see usage.

About

This tool helps you to rebase your package to the latest version

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.2%
  • HTML 1.4%
  • Makefile 0.4%