How to write a patch: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „This article covers the process to write a patch and submit it. == Checkout Sourcecode == First checkout the source code from the svn repository. svn check…“)
 
(Info about logging)
Zeile 14: Zeile 14:


Edit the relevant file. Implement only one change.
Edit the relevant file. Implement only one change.
If you log something consider the right log level. See [[FHEM Command Beispiele]]


== Test Changes ==
== Test Changes ==

Version vom 16. Mai 2014, 15:47 Uhr

This article covers the process to write a patch and submit it.

Checkout Sourcecode

First checkout the source code from the svn repository.

svn checkout http://svn.code.sf.net/p/fhem/code/trunk fhem-code

Find The Module Maintainer

View the file fhem/MAINTAINER.txt. There you find out who is maintaining a module and where you should submit the patch.

Make Changes

Edit the relevant file. Implement only one change. If you log something consider the right log level. See FHEM Command Beispiele

Test Changes

Deploy the change to your fhem installation and test whether it fixes the problem or whether the new feature works as expected.

Document Your Changes

At the end of the file you find the documentation starting with a =pod line. Add documentation as html fragements to it. More infos can be found at Guidelines_zur_Dokumentation

Check Documentation

Run the script commandref_join.pl and look at the output. If it complains fix the documentation.

cd fhem
contrib/commandref_join.pl

Check Whether The Sourcecode is up to date

Before creating the patch check whether your sourcecode is up to date.

svn update

Create A Patch File

SVN helps you to create a proper patch file. Name it properly.

svn diff > ~/fix_ugly_bug.patch

Submit the Patch

Visit the forum as stated in the file fhem/MAINTAINER.txt. Start a new thread with the subject starting with a [patch] and give it a meaningful title. Write a short description what the patch does and attach the patch file.