Monday, March 26, 2012

GSoC – KDevelop git multipatch support plugin

Picture 1 – when gmpf plugin is open

For complicated patches another option
to allow us to review the single commits
is to have you git repository clone,
push your changes there and
add to the reviewboard your git repository url
(if you have a kde identity account...)

Daniele E. Domenichelli,
kde-telepathy developer


Contents:

  1. Why KDE?
  2. Why KDevelop?
  3. Why developers need git multipatch support?
  4. Intro
  5. How developer can create git multipatch file (gmpf)?
  6. How developer can use that gmpf?



Why KDE?

Because I use openSUSE with KDE every day for more than a year.

Why KDevelop?

KDevelop is a powerful IDE for KDE that allow developers to create and to manage their projects. KDevelop already support git version control system.

Why developers need git multipatch support?

It's always tricky when you have a patch that affects multiple repositories. (c)
Git multipatch plugin for KDevelop give the community a quick and a simple tool for juniors to get involved and for seniors to make review on their work.

Intro

Developers must to do a lot of useless work to apply or cancel patches that covers more then one project.

I've decide to make their life a little bit easier. I can write the plugin for KDevelop git tool that would do a lot of work instead of a developer.

When you create a git multipatch file you just need to send this file to anyone. And he can easily apply all patches in one click.

To make it simple, say, at the start developer clone repository to his local machine. Make some job on them commit several times each of them and ready to get review on his work.

How developer can create git multipatch file (gmpf)?

Developer start git multipacth creator. Plugin offers him to chose projects, where the changes are done and ask him which of founded commits must be in the gmpf. Developer mark all he need there and go next (see picture 1).


Picture 2 – first step of gmpf creation

Then developer have to identify the influence of one patch on another. For example, patchs 2 and 3 can be done only after patch 1 and patch 4 can be done only after patch 2. Developer can also to attach a picture and a description to each patch (see picture 2).


Picture 3 – second step of gmpf creation

Developer can skip second step if an order of the patching not important. Creation of gmpf if finished.

How developer can use that gmpf?

Developer have to send it to someone who need it. For an example to his friend Bob. Bob open gmpf with KDevelop git multipatch plugin and see something like this:

see Picture 1

Simplest way for Bob is only to select all patches and make install them. Plugin would create temporary folder, git clone all projects in there and make install them in a proper order. So Bob can test all that new functionality and review all changes in the patches.


Hardest way for Bob is to attach every project to their folders on his local machine if any. Install needed dependency libraries, if he don't have any. And to install each patch after another. But he can't install patch “0001-Updating” before patch “0001-Moving...”. 

I sure my plugin can make developers life little bit easier.

No comments:

Post a Comment