Tree @master (Download .tar.gz)
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 a 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.
- apply-multi-arch-hints: Apply multi-arch hints.
- orphan: Mark a package as orphaned, update its Maintainer field and move it to the common Debian salsa group.
- rules-requires-root: Mark a package as "Rules-Requires-Root: no"
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 debian-svp apply-multi-arch-hints 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/
Commit History
@master
git clone https://jelmer.uk/code/silver-platter/
- Explicitly handle debcargo. Jelmer Vernooij 2 days ago
- Fix control file check. Jelmer Vernooij 2 days ago
- Handle ENOSPC. Jelmer Vernooij 2 months ago
- Check for control files, properly lock. Jelmer Vernooij 2 months ago
- Compare versions as lowercase. Jelmer Vernooij 2 months ago
- Track include_upstream_history in result. Jelmer Vernooij 2 months ago
- Track include_upstream_history result. Jelmer Vernooij 2 months ago
- Distinguish between upstream branch we've found and upstream branch we're using. Jelmer Vernooij 2 months ago
- Fix names. Jelmer Vernooij 2 months ago
- Fix imports. Jelmer Vernooij 2 months ago