[Kolab-devel] How to handle patches
Christoph Wickert
wickert at kolabsys.com
Wed Jul 13 13:09:51 CEST 2011
Hi,
in order to have us work more efficiently we need to agree on certain
guidelines for patches. Not sure if we need a KEP for this, I first like to
try common sense.
There are two groups of people here. One group wants to apply all changes that
fix one particular issue in a single patch, the others want a more modular
approach.
Advantages of big patches:
1. Everything in one commit, all changes to fix a particular issue are visible
at a glance. Typically this includes the fix itself, an update to the spec and
of the release notes, possibly even 1st.README.
Disadvantages of big patches:
1. They mix upstream code changes with downstream packaging efforts.
2. Because of 1. they are not suitable for other packagers. A patch that
touches all kind of files specific to openpkg will never apply on say for rpm
or deb.
3. Even within a distribution the big patches cannot easily be cherry-picked
across different branches.
4. The mixture of code and packaging encourages all kinds of ugly hacks
instead of real fixes. We have patches that hardcode paths like /kolab or
patches that create other patches.
5. These kind of patches don't scale given that we will increase the number of
platforms and product streams.
As you can see big patches don't really work out. So please split them into
functional parts, at least split the generic fix that can go upstream and the
packaging specific changes in a manner that can go downstream, regardless if
downstream is ourselves or another distribution.
Depending on what you work on you already have commit access to either
upstream code or downstream packaging already, so you can just go ahead and
fix things instead of attaching patches to bugs. But if you do so, you *must*
make sure to add a link to the commit in the bug report.
If you disagree with what I wrote and still think that these big patches have
some advantages I missed, please speak up.
Regards,
Christoph
--
Christoph Wickert
Senior Engineer
Kolab Systems AG
Zürich, Switzerland
e: wickert at kolabsys.com
t: +49 251 871 369 77
w: http://kolabsys.com
pgp: 85DACC63 Christoph Wickert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/devel/attachments/20110713/3807640b/attachment.sig>
More information about the devel
mailing list