Minimize the number of steps required to accept contributions for Debian packages you maintain.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
loggedexec
testdata
travis
.gitignore
.travis.yml
LICENSE
README.md
filter_changelog.go
filter_changelog_test.go
getpatch.go
getpatch_test.go
mergebot.go
mergebot_test.go

README.md

Mergebot

Build Status

Vision

Minimize the number of steps required to accept contributions for Debian packages you maintain.

Usage instructions

To merge the most recent patch in Debian bug #831331 and build the resulting package, use:

mergebot -source_package=wit -bug=831331

Afterwards, inspect the resulting Debian package and git repository. If both look good, push and upload using the following commands which are suggested by the mergebot invocation above:

cd /tmp/mergebot-19384221
(cd repo && git push)
(cd export && debsign *.changes && dput *.changes)

See “Future ideas” for how to further streamline this process.

Installation

Until mergebot is packaged in Debian, use these instructions to install Go and build mergebot from source:

sudo apt-get install golang-go
export GOPATH=~/gocode
go get -u github.com/Debian/mergebot

Dependencies

  • git
  • sbuild
  • gbp
  • devscripts (pulled in by gbp as well)

Assumptions

  • your repository can be cloned using gbp clone --pristine-tar
  • your repository uses git as SCM
  • your repository can be built using gbp buildpackage with sbuild

Future ideas

Please get in touch in case you’re interested in using or helping with any of the following features:

  • Run mergebot automatically for every incoming patch, respond to the bug with a report about whether the patch can be merged successfully and whether the resulting package builds successfully.
  • Add a UI to mergebot (web service? email? user script for the BTS?), allowing you to have mergebot merge, build, push and upload contributions on your behalf.