|
|
Subscribe / Log in / New account

KS2008: Development tools

By Jonathan Corbet
September 16, 2008

LWN's 2008 Kernel Summit coverage
Paul Mackerras was the leader of a kernel summit session dedicated to development tools. In the end, though, only one tool was discussed: the Patchwork system used by the PowerPC development community. Patchwork is a patch management system; its job is to ensure that posted patches are properly tracked, reviewed, and disposed of.

The Patchwork system can be configured to watch a mailing list; whenever a message containing a patch is posted, it is added to the database. Any followup discussion is also captured and stored with the patch. Maintainers can go into the system, review patches, delegate them to other maintainers, and mark them for their final destination. Patches which are set to be merged into a subsystem tree can be grouped into bundles; the maintainer can then extract them as a mailbox file suitable for feeding to the git-am tool.

A nice feature of Patchwork is that it can recognize messages containing Acked-by lines and automatically note the acks in the original patch.

Patchwork was generally recognized as a useful tool; the developers began discussing whether it should be used for the kernel as a whole. It was noted that all maintainers need to commit to using it, or it will quickly clog up with patches that nobody is paying attention to. Nobody has any illusions that all kernel developers can be convinced to start working with this new tool; Andrew Morton stated that he was probably too stuck in his way to make use of it. Some alternatives - such as having patches automatically age out of the system - were discussed. But it was generally agreed that trying to deal with the full linux-kernel mailing list would probably be too big of a step at this time.

So a more likely outcome is that one or more subsystems will start experimenting with Patchwork, perhaps running it on one of the kernel.org systems. The SCSI or ext4 subsystems may be the early adopters here. If that trial works out, expanding the use of Patchwork may be considered.

Index entries for this article
KernelDevelopment tools
KernelPatchwork


to post comments

KS2008: Development tools

Posted Sep 16, 2008 11:45 UTC (Tue) by johill (subscriber, #25196) [Link] (5 responses)

One thing about patchwork that confuses me is it's independence of git entirely, couldn't it go create git branches for each patch and then track a git tree on whether a patch made it in or not? Or have it work with topgit.

That way, much of the work done in patchwork (tracking the status of a patch) could be automatic, if a patch gets merged then it knows automatically. Hey, it could even warn that you've merged v2 of a patch but v3 was available...

KS2008: Development tools

Posted Sep 16, 2008 22:42 UTC (Tue) by jk (subscriber, #31383) [Link] (1 responses)

Hi johill,

Patchwork is intended to be independent of git, as other (non-git) projects use patchwork too.

That said, there is a patchwork command-line client, which we use for git integration (eg, set patchwork status to Accepted when a patch is merged).

KS2008: Development tools

Posted Sep 18, 2008 12:20 UTC (Thu) by johill (subscriber, #25196) [Link]

Ok, I guess that makes sense. I'd expected something more integrated in that you can pretty much do all the work with git and don't have to handle the patches "raw" any more. Of course, I guess you can always do something like "patchwork get ppc/235 | git am -" (purely made up.)

KS2008: Development tools

Posted Sep 17, 2008 0:45 UTC (Wed) by jamesh (guest, #1159) [Link] (1 responses)

To do that kind of thing, people need to be sending more than just plain patches.

The equivalent tool that was built to help develop Bazaar is Bundle Buggy. While it can handle plain patches to some extent, it really shines when people send Bazaar bundles which package up all the branch history not present in the target branch.

This means that a developer can merge the branch and pull in all of its history. When this is done, it is trivial to detect when a patch has been merged and remove it from the pending list. If someone posts an updated version of a patch, Bundle Buggy can unambiguously tell that it is derived from a previous patch and mark the old one as obsolete.

The upshot is that the pending list is a fairly accurate representation of what work needs to be merged whether the developers use the web UI or not.

KS2008: Development tools

Posted Sep 18, 2008 12:13 UTC (Thu) by johill (subscriber, #25196) [Link]

Yes, if you can enforce that kind of thing that works well. However, it doesn't really work well in a distributed setting where the users may not all be using the tool itself.

I'm thinking that something as simple as "quilt mail", the git equivalent or whatever should work just fine when everybody adds the right references header etc.

Of course, I'd need to do more thinking, at which point I could probably write a preliminary version of the tool I'm imagining.

KS2008: Development tools

Posted Sep 20, 2008 23:13 UTC (Sat) by ppcpaulus (guest, #45779) [Link]

I don't want patchwork to put the patches into git automatically, because I very often edit the patch description, and occasionally the patch, before putting it into git. Even if the author has provided a decent description, I edit it for stylistic things like making sure the headline starts with "powerpc:" or "powerpc/subsystem:". So it suits me just fine to download the bundle, edit it, and apply it with git am.

KS2008: Development tools

Posted Oct 21, 2008 20:17 UTC (Tue) by nischal (guest, #54822) [Link] (1 responses)

Looking for Linux version of Tera or Hyper terminal.

I need a software that I can talk to using either RS232 port and/or USB port. Can anyone suggest which software to use and where to get it from?

The user guide of the device is using Windows based Tera Terminal softare

thanks

Nischal

KS2008: Development tools

Posted Oct 22, 2008 2:39 UTC (Wed) by dlang (guest, #313) [Link]

there are a lot of terminal programs available for linux, I tend to use minicom, but there are probably hundreds of others out there.

remember Unix systems used to use serial terminals extensivly, so what's a limited-use special piece of software for windows is the ancient, almost forgotten common infrastructure for *nix


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds