Changes between Version 64 and Version 65 of DevWikiComitGuidelines


Ignore:
Timestamp:
Oct 12, 2017, 10:09:50 PM (7 years ago)
Author:
robe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • DevWikiComitGuidelines

    v64 v65  
    33||Version:|| 1.00000013
    44||Author:|| Regina Obe <lr at pcorp dot us>||
    5 ||Last Edited:|| 2012/05/04||
     5||Last Edited:|| 2017/11/13||
    66||Status:|| Approved||
    77
     
    2727== Code and Documentation Conventions ==
    2828  * C code should follow our designated [http://trac.osgeo.org/postgis/browser/trunk/STYLE Style Guidelines] to the best of your abilities
    29   * All source code in SVN should be in Unix text format as opposed to DOS text mode.
     29  * To accomplish Guidelines standards, we have implemented the use of editorconfig. Our repo as of version 2.4 now contains a .editorconfig file which editors configured with editorconfig support abide by.
     30  * We ask all developers to work with an editor that has editorconfig support. Many editors have it or have it as plugins.
     31  * All source code in SVN should be in Unix text format as opposed to DOS text mode with possibel exception of .bat files.
    3032  * Each new/changed function should be documented in the official docs following our [wiki:DevWikiDocNewFeature Documentation Guidelines]
    3133
    3234== SVN Administrator ==
    3335
    34 One member of the Project Steering Committee will be designated as the SVN Administrator. That person will be responsible for giving SVN commit access to folks, updating the CREDITS  and authors.svn file, and other SVN related management. That person will need login access on the SVN server of course.
     36One member of the Project Steering Committee will be designated as the SVN Administrator. That person will be responsible for giving SVN commit access to folks, updating the CREDITS  and authors.svn, authors.git file, and other SVN/GIT related management. That person will need login access on the SVN server of course.
    3537
    3638Initially Paul Ramsey will be the SVN Administrator.
     
    4244    1. Use meaningful descriptions for commit log entries.
    4345    2. Add a bug reference like "#1232" at the beginning or end of SVN commit log entries when committing changes related to a ticket in Trac. The '#' character enables Trac to create a hyperlink from the changeset to the mentioned ticket.
    44     3. When new enhancements are added or breaking changes are made and completed the related ticket should have in '''keywords''' section of ticket the word '''history'''.  This will better ensure it is not forgotten when preparing the news release and official doc release notes.
    45     4. After committing changes related to a ticket in Trac, write the tree and revision in which it was fixed in the ticket description. Such as "Fixed in trunk r12345 and in branches/1.7 r12346". The 'r' character enables Trac to create a hyperlink from the ticket to the changeset.
    46     5. Changes should not be committed in stable branches without a corresponding bug id. Any change worth pushing into the stable version is worth a bug entry.
    47     6. Never commit new features to a stable branch without permission of the PSC or release manager. Normally only fixes should go into stable branches.
    48     7. New features go in the main development trunk.
    49     8. Only bug fixes should be committed to the code during pre-release code freeze, without permission from the PSC or release manager.
    50     9. Significant changes to the main development version should be discussed on the postgis-dev list before you make them, and larger changes will require an RFC approved by the PSC.
    51     10. Do not create new branches (except for spike branches) without the approval of the PSC. Release managers are assumed to have permission to create a branch.
    52     11. spike branch (those in the spike/username area are to be used for experimentation or for major code refactoring that will destabilize the trunk.  After such experimentation is deemed stable, this can then be merged into the trunk after approval from PSC members.   
    53     12. When committing new features or significant changes to existing source code, the committer should take reasonable measures to insure that the source code continues to build and work on the most commonly supported platforms (currently Linux and Windows), either by testing on those platforms directly, running Buildbot tests, or by getting help from other developers working on those platforms. If new files or library dependencies are added, then the configure.in, Makefile.in and related documentations should be kept up to date.
    54     13. In the event of broken build (build bot fail notification), the person who broke the build must fix the break before working on anything else
     46    3. If you are given a patch from a community person, note their name in both the commit log entry and NEWS file.
     47    4. To close a ticket you can add to your commit log  Closes #[xyz]  where xyx is the trac ticket, or  Closes [link to pull request].  Our trac system has a hook to automatically close these on trac and our git mirrors.
     48    5.  Similarly adding References #[xyz] will automatically put the commit log notes on the trac ticket. If you forget to add the notes to the commit log, edit the tract ticket and put the notes in - After committing changes related to a ticket in Trac, write the tree and revision in which it was fixed in the ticket description. Such as "Fixed in trunk r12345 and in branches/1.7 r12346". The 'r' character enables Trac to create a hyperlink from the ticket to the changeset.
     49    6. When new enhancements are added or breaking changes are made and completed the related ticket should be added to the NEWS file.
     50    7. Changes should not be committed in stable branches without a corresponding bug id in NEWS. Any change worth pushing into the stable version is worth a bug entry.
     51    8. Never commit new features to a stable branch without permission of the PSC or release manager. Normally only fixes should go into stable branches.
     52    9. New features go in the main development trunk.
     53    10. Only bug fixes should be committed to the code during pre-release code freeze, without permission from the PSC or release manager.
     54    11. Significant changes to the main development version should be discussed on the postgis-dev list before you make them, and larger changes will require an RFC approved by the PSC.
     55    12. Do not create new branches (except for spike branches) without the approval of the PSC. Release managers are assumed to have permission to create a branch.
     56    13. spike branch (those in the spike/username area are to be used for experimentation or for major code refactoring that will destabilize the trunk.  After such experimentation is deemed stable, this can then be merged into the trunk after approval from PSC members.  Using a git repo for experimentation instead of svn/spike is the preferred mode of experimentation these days.
     57    14. When committing new features or significant changes to existing source code, the committer should take reasonable measures to insure that the source code continues to build and work on the most commonly supported platforms (currently Linux, Mac, and Windows), either by testing on those platforms directly, running Buildbot tests, or by getting help from other developers working on those platforms. If new files or library dependencies are added, then the configure.in, Makefile.in and related documentations should be kept up to date.
     58    15. In the event of broken build (build bot fail notification), the person who broke the build must fix the break before working on anything else.
    5559
    5660== Committer Tracking ==
     
    6367    * A brief indication of areas of responsibility.
    6468    * The name of key developers and their area of responsibility should also be  prominently shown in latest release of manual in the doc/introduction.xml file. 
    65       This will be the responsibility of the documentation lead to ensure.
     69      This will be the responsibility of the documentation lead (currently Regina Obe) to ensure.
    6670
    6771== Relationship with other Projects ==
     
    101105    * Make sure the contributor (and possibly employer) is aware of the contribution terms.
    102106    * Code coming from a source other than the contributor (such as adapted from another project) should be clearly marked as to the original source, copyright holders, license terms and so forth. This information can be in the file headers, but should also be added to the project licensing file if not exactly matching normal project licensing.
    103     * Existing copyright headers and license text should never be stripped from a file. If a copyright holder wishes to give up copyright they must do so in writing to the foundation before copyright messages are removed. If license terms are changed it has to be by agreement (written in email is ok) of the copyright holders.
     107    * Existing copyright headers and license text should never be stripped from a file. If a copyright holder wishes to give up copyright they must do so in writing to the OSGeo foundation before copyright messages are removed. If license terms are changed it has to be by agreement (written in email is ok) of the copyright holders.
    104108    * Code with licenses requiring credit, or disclosure to users should be added to /postgis/trunk/LICENSE.TXT.
    105109    * When substantial contributions are added to a file (such as substantial patches) the author/contributor should be added to the list of copyright holders for the file.
    106110    * If there is uncertainty about whether a change is proper to contribute to the code base, please seek more information from the project steering committee, or the foundation legal counsel.
    107111    * New contributors and company contributors should be added to the credits in doc/introduction.xml of the latest release of the PostGIS manual.
    108     * It is the responsibility of the document lead to insure when new enhancements are added or breaking changes are made, these are noted in the trunk/NEWS or relevant branch/NEWS as soon as conveniently possible. The note should include the trac # (unless a major feature with many tickets) and contributors to the feature/change.
     112    * It is the responsibility of the document lead to ensure when new enhancements are added or breaking changes are made, these are noted in the trunk/NEWS or relevant branch/NEWS as soon as conveniently possible. The note should include the trac # (unless a major feature with many tickets) and contributors to the feature/change.
    109113
    110114== Bootstrapping ==
     
    121125    * Kevin Neufeld
    122126    * Regina Obe  (P) Documentation Lead
    123     * Bborie Park
     127    * Bborie Park (P)
    124128    * Pierre Racine
    125129    * Paul Ramsey (P) SVN Administrator