forked from cfengine/core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHACKING
45 lines (29 loc) · 1.62 KB
/
HACKING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
How to contribute
-----------------
Thanks for considering contributing to the CFEngine! We take pull-requests on GitHub at
http://github.com/cfengine, and we have a public Redmine bug-tracker at http://bug.cfengine.com
Normally, bug fixes have a higher chance of getting accepted than new features, but we certainly
welcome feature contributions. If you have an idea for a new feature, it might be a good
idea to open up a feature ticket in Redmine first to get discussion going.
Top reasons pull-requests are rejected or delayed
-------------------------------------------------
* Code does not follow style guidlines.
* Pull request addresses several disperate issues. In general, smaller pull-requests are better
because they are easier to review and stay mergable longer.
* Messy commit log. Tidy up the commit log by squashing commits. Write good commit messages:
One line summary at the top, followed by an optional detailing paragraphs. Please reference
Redmine tickets, e.g. "Close #1234"
* Code is out-of-date, does not compile, or does not pass all tests. Again, focused and small
pull-requests are better.
* No attached test case. Normally, all new code needs test cases. This means a functional test
runnable with 'make check'.
Emacs users
-----------
There is Elisp snippet in contrib/cfengine-code-style.el which defines the
project's coding style. Please use it when working with source code. The easiest
way to do so is to add
(add-to-list 'load-path "<core checkout directory>/contrib")
(require 'cfengine-code-style)
and run
ln -s contrib/dir-locals.el .dir-locals.el
in the top directory of the source code checkout.