Difference between revisions of "Subversion"

From OdaWiki
(Updated image to revision 2027)
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Image:Commits_group_multi_date_graph_2027.png|thumb|Graph of svn activity up to revision 2027]]
+
== What is Github? ==
  
== What is Subversion? ==
+
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.
  
Subversion 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? ==
  
== How do I access Odamex's Subversion? ==
+
Odamex's Github repository can be accessed using the following URL:
  
Access is restricted based on our [[Policy]]. Those that contribute considerable time to improve the odamex source may be granted full or partial access. Inactive accounts will tend to get frozen or disabled. Generally, the [[Policy|project manager(s)]] will administrate this access with the guidance of the lead coder(s).
+
<pre>https://github.com/odamex/odamex</pre>
  
== How do I use a subversion client? ==
+
== What is Odamex's Github access policy? ==
  
This depends on the subversion client you happen to be using.  However, there are some terms that you should recognize that are consistant between clients.
+
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.
  
===Checkout===
+
Generally, the [[Policy|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.
The process of '''checking out''' means that you connect to the subversion server and it downloads a revision of the code you specify and places it into a newly created subversion filesystem on your local hard drive.  By default, the HEAD(latest) revision is the one that is checked out, and probably the one that you are most interested in.
+
  
This is how you check out from the command line:
+
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"
 
+
<tt>svn checkout <server name> <destination directory></tt>
+
 
+
===Update===
+
Once you check out a revision of odamex's source code, your local version of the code stays that way. If a newer version of the code comes out, you have two options.  You can either check out a new version of the code into a seporate directory, or you can '''update''' the existing code that you already have.  Note that any changes you have made to your local copy are kept, and not discarded, and if the version you download from the server collides with any of your changed files, subversion will tell you this, and you must handle the conflict between your local copy and the server's repository manually, usually through a revert, or by creating a new local copy so you don't lose your hard work..
+
 
+
This is how you update from the command line:
+
 
+
<tt>svn update <local directory></tt>
+
 
+
Note that you do not need to specify the server, as subversion remembers the server where your local copy originated from.
+
 
+
==What Subversion clients are avalable?==
+
There are many, many subversion clients avalable:
+
* [http://subversion.tigris.org/ Subversion]: Command Line client for multiple platforms.
+
* [http://tortoisesvn.tigris.org/ TortiseSVN]: Windows Explorer extension for Windows.
+
* [http://rapidsvn.tigris.org/ RapidSVN]: wxWidgets based GUI client for multiple platforms.
+
 
+
== How is Odamex's repository organized ==
+
Each branch keeps an entire odamex source tree.
+
 
+
* '''[http://www.odamex.net/svn root]'''
+
** '''trunk''' - Bleeding-edge development, expect things to break often
+
** '''branches'''
+
*** '''stable''' - The latest stable version, merged with trunk when features mature
+
*** '''ogl_hack''' - A very experimental attempt at creating an OpenGL-based renderer for Odamex
+
*** other temporary branches may be created or destoryed
+
** tags
+
  
 
== How can I be notified when the repository updates? ==
 
== How can I be notified when the repository updates? ==
  
 
Any changes to our svn repository are reported in:
 
Any changes to our svn repository are reported in:
* [http://odamex.net/changelog The Odamex Changelog]
+
* [http://odamex.net/changelog.php?count=100 The Odamex Changelog]
 
* [[IRC|The Odamex IRC Channel]] by the odasvn bot.
 
* [[IRC|The Odamex IRC Channel]] by the odasvn bot.
  
Line 59: Line 30:
 
** Separate your commits semantically
 
** Separate your commits semantically
 
** Make an informative comment with each commit
 
** Make an informative comment with each commit
** Mention related bugs and revisions (see [http://odamex.net/changelog changelog] for examples)
+
** Mention related bugs and revisions (see [http://odamex.net/changelog.php?count=100 changelog] for examples)
 
** Seek comments on bugzilla and forum before making major changes
 
** Seek comments on bugzilla and forum before making major changes
 
** Test your changes before every commit
 
** Test your changes before every commit

Latest revision as of 21:16, 1 May 2018

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:

https://github.com/odamex/odamex

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 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