Skip to content

tbm/silver-platter

 
 

Repository files navigation

Silver-Platter

Silver-Platter makes it possible to contribute automatable changes to source code in a version control system.

It automatically creates a local checkout of a remote repository, makes user-specified changes, publishes those changes on the remote hosting site and then creates pull request.

In addition to that, it can also perform basic maintenance on branches that have been proposed for merging - such as restarting them if they have conflicts due to upstream changes.

Getting started

To log in to a code-hosting site, use svp login:

svp login https://github.com/

The simplest way to create a change as a merge proposal is to run something like:

svp run --mode propose https://github.com/jelmer/dulwich ./some-script.sh

where some-script.sh makes some modifications to a working copy and prints the body for the pull request to standard out. For example:

#!/bin/sh
sed -i 's/framwork/framework/' README.rst
echo "Fix common typo: framwork => framework"

Supported hosters

At the moment, the following code hosters are supported:

Working with Debian packages

Several common operations for Debian packages have dedicated subcommands under the debian-svp command. These will also automatically look up packaging repository location for any Debian package names that are specified.

Subcommands that are available include:

  • lintian-brush: Run the lintian-brush command on the branch.
  • upload-pending: Build and upload a package and push/propose the changelog updates.
  • new-upstream: Merge in a new upstream release or snapshot.

debian-svp run takes package name arguments that will be resolved to repository locations from the Vcs-Git field in the package.

See debian-svp COMMAND --help for more details.

Examples running debian-svp:

debian-svp lintian-brush samba
debian-svp lintian-brush --mode=propose samba
debian-svp lintian-brush --mode=push samba

debian-svp upload-pending tdb

debian-svp new-upstream --no-build-verify tdb

Credentials

The svp hosters subcommand can be used to display the hosting sites that silver-platter is aware of:

svp hosters

And to log into a new hosting site, simply run svp login BASE-URL, e.g.:

svp login https://launchpad.net/

Packages

No packages published

Languages

  • Python 100.0%