From OdaWiki
Revision as of 21:16, 1 May 2018 by HeX9109 (Talk | contribs) (What is Odamex's Subversion access policy?)

What is Github?

Github is the current version control repository used to maintain the Odamex source code. In layman's terms, it allows multiple people to be working on the same project at the same time while giving those same people the facilities to recognize collisions between two contributors code.

How do I access Odamex's Github respository?

Odamex's Github repository can be accessed using the following URL:

What is Odamex's Github access policy?

Read-only access to Odamex's Github repository is public, meaning that anyone can checkout the source for their own purposes, including modification and compilation. However, further repository access, such as Commit access, is restricted based on our Policy. If you wish to contribute to Odamex, please send a patch to one of the indicated MAINTAINERS. Those that contribute considerable time to improve the Odamex source may be granted full or partial access.

Generally, the project manager(s) will administrate this access with the guidance of the lead coder(s). Inactive accounts will tend to get frozen or disabled after a certain length of time.

TO DO: How to use Github and download the source. For now you can download the latest version of the source as a zip file under the green button labelled "Clone or download"

How is Odamex's repository organized

Each branch keeps an entire odamex source tree.

  • root
    • trunk - Bleeding-edge development, expect things to break often
    • branches
      • ogl_hack - A very experimental attempt at creating an OpenGL-based renderer for Odamex
      • other temporary branches may be created or destroyed
    • tags
      • Each stable and development release is tagged. This is starting with 0.4 and will be back-tagged for prior releases.

How can I be notified when the repository updates?

Any changes to our svn repository are reported in:

Guidelines for maintainers

  • Do
    • Regularly update your working copy
    • Commit individual improvements and corrections to the existing code
    • Separate your commits semantically
    • Make an informative comment with each commit
    • Mention related bugs and revisions (see changelog for examples)
    • Seek comments on bugzilla and forum before making major changes
    • Test your changes before every commit
  • Do not
    • Commit broken code to trunk or stable
    • Commit untested code to stable
    • Make giant monolithic commits
    • Make major changes without consulting maintainers
    • Make frivolous commits
    • Overwrite other people's recent work without asking them
    • Change EOL modes of files, All files should be LF