Changes between Version 74 and Version 75 of DevWikiComitGuidelines
- Timestamp:
- 10/27/19 17:35:17 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DevWikiComitGuidelines
v74 v75 1 1 = RFC-5: PostGIS Committer Guidelines = 2 2 3 ||Version:|| 1.000000143 ||Version:|| 2.0 4 4 ||Author:|| Regina Obe <lr at pcorp dot us>|| 5 ||Last Edited:|| 201 7/10/16||6 ||Status:|| Approved||5 ||Last Edited:|| 2019/10/27|| 6 ||Status:|| Draft|| 7 7 8 8 == Changes to this file == … … 26 26 27 27 == Code and Documentation Conventions == 28 * C code should follow our designated [http ://trac.osgeo.org/postgis/browser/trunk/STYLE Style Guidelines] to the best of your abilities28 * C code should follow our designated [https://trac.osgeo.org/postgis/browser/git/STYLE Style Guidelines] to the best of your abilities 29 29 * To accomplish Guidelines standards, we have implemented the use of [http://editorconfig.org/ editorconfig]. Our repo as of version 2.4 now contains a .editorconfig file which editors configured with editorconfig support abide by. 30 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 SVNshould be in Unix text format as opposed to DOS text mode with possible exception of .bat files.31 * All source code in GIT should be in Unix text format as opposed to DOS text mode with possible exception of .bat files. 32 32 * Each new/changed function should be documented in the official docs following our [wiki:DevWikiDocNewFeature Documentation Guidelines] 33 33 34 == SVNAdministrator ==34 == Repo Administrator == 35 35 36 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, authors.git file, and other SVN/GIT related management. That person will need login access on the SVN server of course.36 One member of the Project Steering Committee will be designated as the Repo Administrator. That person will be responsible for giving commit access to folks, updating the CREDITS and authors.git file, and other repo related management. 37 37 38 Paul Ramsey is currently designated as the SVNAdministrator.38 Paul Ramsey is currently designated as the Repo Administrator. 39 39 40 ** It is extremely critical that the new committer's user name be added to authors.svn and authors.git before their first commit otherwise the git replication will break.**40 **TODO: Is this still true? It is extremely critical that the new committer's user name be added to authors.svn and authors.git before their first commit otherwise the git replication will break.** 41 41 42 == SVNCommit and Bug, Feature Tracking Practices ==42 == Commit and Bug, Feature Tracking Practices == 43 43 44 44 The following are considered good source commit and tracking practices for the PostGIS project. 45 45 46 46 1. Use meaningful descriptions for commit log entries. 47 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. 48 3. If you are given a patch from a community person, note their name in both the commit log entry and NEWS file. 49 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. 50 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. 47 2. Add a bug reference like "#1232" at the beginning or end of 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. 48 For small changes where there is no ticket and there is a pull request or patch, reference to these e.g. github/gitlab pull request link is sufficient 49 3. If you are given a patch or pull request from a community person, note their name in both the commit log entry and NEWS file. 50 4. To close a ticket or pull request 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. 51 5. ** TODO: Not sure this is proper way to reference git** - 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 trac 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 master ..git hash and in branches/3.0 <githas>". The 'r' character enables Trac to create a hyperlink from the ticket to the changeset. 51 52 6. When new enhancements are added or breaking changes are made and completed the related ticket should be added to the NEWS file. 52 53 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. 53 54 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. 54 9. New features go in the main development trunk.55 9. New features go in the main development master. 55 56 10. Only bug fixes should be committed to the code during pre-release code freeze, without permission from the PSC or release manager. 56 57 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. 57 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.58 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.58 12. Do not create new branches. Feature branches should be created in your own personal repo of choice. Release managers are assumed to have permission to create a branch. 59 13. spike branch (those in the spike/username area are to be used for experimentation or for major code refactoring that will destabilize the master After such experimentation is deemed stable, this can then be merged into the master after approval from PSC members. 59 60 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. 60 61 15. After each commit, verify that all the build bots are happy on this page - https://trac.osgeo.org/postgis/ and if their unhappiness is caused by your commit, fix the issue before making any other changes.