This page lists the points to be checked before pushing a commit to your personal repository or to the public repository. * If the commit '''fixes a bug:''' * Check if your bug fix applies to the stable branch: if yes, cherry-pick it, and push the commit in the stable branch. When doing the cherry-pick, don't forget to use the {{{-x}}} option, so that the commit number in master is included in the commit message. If automatic cherry-picking does not work (because the branches have diverged), do it manually, and keep a reference to the commit number in master in the commit message * Describe the bug on the KnownBugs page. The description should be written from a user perspective: explain in which circumstances the bug can be encountered, and how this will affect the output. Note that this description can also be used as the commit message * If the commit '''adds a new feature:''' * Document the feature in the ReferenceManual, preferably in the same commit * Describe the new feature on the NewFeatures page. The description should be written from a user perspective. Note that this description can also be used as the commit message * If the commit fixes several bugs at the same time, adds several features at the same time, or fixes bug(s) and adds feature(s) at the same time: consider splitting your commit into several atomic commits * If the commit '''closes a Github issue:''' * In your commit message, add the following text on a single line: {{{Closes #nnn}}} (where {{{nnn}}} is the issue number) * The issue will be closed in Github when you push the commit * If your commit affects any M-file, check that your code works under both '''MATLAB''' '''''and''''' '''Octave''' * Check that '''copyright information''' is correct: * If modifying an existing file, check that the copyright years include the current year * If adding a new file, check that you included the copyright notice * If you added/modified copyright information in one of the previous step, or if you renamed a file, check whether the {{{license.txt}}} file at the root of the repository needs to be updated. Here is a [[http://dep.debian.net/deps/dep5/|description of the syntax]] of this file * Check that your code complies with the CodingStandards