COIN-OR::LEMON - Graph Library

Changes between Version 15 and Version 16 of CommitGuides


Ignore:
Timestamp:
10/13/08 23:44:29 (15 years ago)
Author:
Peter Kovacs
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CommitGuides

    v15 v16  
    55 - When you start implementing a new feature, bug fix etc, always do it '''on the top of the [http://lemon.cs.elte.hu/hg/lemon/ main repository]''', not on the top of your last local commit.
    66 - Read and follow the [CodingStyle Coding Style] conventions.
    7    - For newly created or ported files you probably want to run the [source:scripts/update-copyright-header.sh update-copyright-header.sh] script to maintain the standard Lemon copyright header.
    8  - Be very careful not to add unnecessary files (but to add everything that is necessary) 
    9  - Do not add generated files into the repository.
    10  - Do not add test files except very small ones.
     7   - Use the standard LEMON copyright header.
     8 - Be very careful not to add unnecessary files (but to add everything that is necessary).
     9   - Do not add generated files into the repository.
     10   - Do not add test files except very small ones.
    1111 - Do not do changes that are irrelevant to the main purpose of the commit
    1212   - For example do ''not'' do whitespace changes and reformatting unless it is especially needed.
    1313 - If new files added, adjust the build environment config files, as well
    14    - the '''{{{Makefile.am}}}''' in the related directory for autotool
    15    - the '''{{{CMakeLists.txt}}}''' in the related directory for CMake
     14   - the '''{{{Makefile.am}}}''' in the related directory for autotool,
     15   - the '''{{{CMakeLists.txt}}}''' in the related directory for CMake.
    1616 - Before you commit revise your changes (e.g. with '''hg status''' and '''hg diff'''). Be sure
    17    - not to do whitespace changes. (Emacs' '''ediff''', or '''kdiff3''' will help you in getting rid of them.)
     17   - not to do whitespace changes (Emacs' '''ediff''' or '''kdiff3''' will help you in getting rid of them),
    1818   - not to make reordering of declarations unless it is really necessary. If you must, do it in a separate changeset.
    1919 - Make sure that '''{{{make check}}}''' passes without any compilation warning for each commit with {{{g++-4.3}}}.
    20    - When files are renamed or new ones added also check the changset with '''{{{make distcheck}}}'''
     20   - When files are renamed or new ones added also check the changset with '''{{{make distcheck}}}'''.
    2121 - At each point, changes should be "clean", i.e. to be self-contained, and not include any changesets that were false starts.
    22    - If you are working on a more substantial new feature or improvement, you probably want to commit frequently in order to make it possible the revert the changes that turn to be a bad idea later. Feel free to do that, but before you share your changes with others, you should clean your repository by removing the unwanted commits and concatenating those actually belong together. Here is a nice description how to do that: http://www.selenic.com/mercurial/wiki/index.cgi/TipsAndTricks
     22   - If you are working on a more substantial new feature or improvement, you probably want to commit frequently in order to make it possible the revert the changes that turn to be a bad idea later. Feel free to do that, but before you share your changes with others, you should clean your repository by removing the unwanted commits and concatenating those actually belong together. Here is a nice description how to do that: [http://www.selenic.com/mercurial/wiki/index.cgi/TipsAndTricks].
    2323 - When you add a new algorithm or data structure:
    2424   - Take the hassle to write a complete doxygen documentation as well.
     
    2626   - Also provide an exhaustive test case, whenever it makes sense.
    2727 - When you port files from the SVN repository:
    28    1. Run the '''{{{scripts/rename-graphs}}}''' and the '''{{{scripts/unify-sources.sh}}}''' script for all the files you would like to port.
    29    1. Check the renamings (e.g. {{{source()}}} and {{{target()}}} should be manually renamed to {{{u()}}} and {{{v()}}} for undirected graphs).
     28   1. Run the '''{{{tools/lemon-0.x-to-1.x.sh}}}''' and the '''{{{scripts/unify-sources.sh}}}''' scripts for all the files you would like to port.
     29   1. Check the renamings (e.g. {{{source()}}} and {{{target()}}} should be manually renamed to {{{u()}}} and {{{v()}}} for undirected graphs). See the ''Migration Guide'' in the documentation for more information.
    3030   1. Also port the related test files, if there are any.
    3131     - Run the rename and unify scripts for the test files, too.