Source Code Repository

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Source Code via Git)
(Source Code via Git)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Source Code via Git =
+
= Source Code via Git =
  
<font style="color: red; font-size: big">This page is for developers and testers only. If you are just using OpenSim, but not involved in developing it, we ask that you stick to [[Download | tagged releases]], preferably binary distributions.</font>
+
<font style="color: red; font-size: big">This page is for developers and testers only. If you are just using OpenSim, but not involved in developing it, we ask that you stick to [[Download|packaged releases]], preferably binary distributions.</font>
  
 
OpenSimulator uses Git as its source control tool.
 
OpenSimulator uses Git as its source control tool.
 
For more information on installing and using Git, please see [[Using Git]].  
 
For more information on installing and using Git, please see [[Using Git]].  
  
'''Never, ever, ever, never''' run master git in production environments; it is not suitable for that unless you are very familiar with the source code, and can hot fix any piece of it (that probably means you are an OpenSim developer). Feedback and testing on the unstable tree is very much appreciated, as that helps us make the next release better.  
+
Do not run master git in production environments; it is not suitable for that unless you are very familiar with the source code, and can hot fix any piece of it (that probably means you are an OpenSimulator developer). Feedback and testing on the unstable tree is very much appreciated, as that helps us make the next release better.  
  
 
* '''Latest git revision version (bleeding edge)'''
 
* '''Latest git revision version (bleeding edge)'''
Line 14: Line 14:
 
After creating the clone, change into the directory and:
 
After creating the clone, change into the directory and:
 
  git reset --hard ########
 
  git reset --hard ########
 +
 +
The current master requires .net 4.6+ (Windows) or mono5+ (Linux)
  
 
Where ######## is the unique hash of the version you are interested in.
 
Where ######## is the unique hash of the version you are interested in.
  
Another option for obtaining the code is via subversion with our svn mirror. This mirrors all git changes since the old 10k1 changeset in subversion. It is synchronized every 15 minutes, so may be 15 minutes behind git master.
+
* '''To clone the repository if you are a core developer'''
 +
  git clone ssh://<username>@opensimulator.org/var/git/opensim
  
* '''Latest subversion revision version (bleeding edge)'''
+
= Source Code via ViewGit Web Utility =
svn co http://opensimulator.org/svn/opensim-track/trunk opensim
+
  
To do this with git:
+
You can also get OpenSimulator code via the ViewGit web utility at
  
  git-svn clone http://opensimulator.org/svn/opensim-track opensim -T trunk
+
  http://opensimulator.org/viewgit/?a=shortlog&p=opensim
  
== Release Code via Git  ==
+
You'll see a list of revisions as shown below.  
Instead of using a source archive release, you can pull specific releases from our git source code repository. For more information on installing and using Git, please see [[Using Git]].  
+
  
In each case you'll want to start with a clone:  
+
[[Image:Git Summary.png|center|640x112px]]
  
git clone git://opensimulator.org/git/opensim
+
Scroll down, and you will see not just the master head, but also the several tagged releases and working branches.
  
Then all other commands are run from inside the checked out directory. For example
+
The tarball or zip source code package for any particular revision can be downloaded by the ''tar/gz'' and ''zip'' links in the rightmost "Actions" column.
  
*'''Command for retrieving 0.6.8'''
+
= Repository Structure =
  
git checkout 0.6.8-release
+
The master git branch contains OpenSimulator code in development.
  
*'''Command for retrieving 0.6.8 with ongoing fixes'''
+
Each main release will have a separate branch named <version>-post-fixes.  For instance, 0.7.3 was released from the branch 0.7.3-post-fixes.  It's named 'post fixes' because it contains fixes that are ported from development code in a controlled manner.  It starts out as a new branch from the master code line when we start the new release process.
  
  git checkout -b 0.6.8-post-fixes origin/0.6.8-post-fixes
+
Each release has a tag with the format <version>-release. So 0.7.3 is tagged as 0.7.3-release.
  
*'''Command for updating an existing checked out 0.6.8 branch with subsequent changes'''
+
Hence, to get the release code of 0.7.3 from the repository you would use the command.
  
  git pull
+
  git checkout 0.7.3-release
  
= Source Code via ViewGit Web Utility =
+
Minor point releases (e.g. 0.7.3.1) are also released from the post fixes branch from which their main release was taken.  So 0.7.3.1 would be released from 0.7.3-post-fixes.  It would also be tagged as 0.7.3.1-release.
  
You can also get OpenSimulator code via the ViewGit web utility at
+
One can also retrieve the post fixes branch at any point with a command such as
  
  http://opensimulator.org/viewgit/?a=summary&p=opensim
+
  git checkout -b 0.7.3-post-fixes origin/0.7.3-post-fixes
  
You'll see a list of revisions as shown below.   
+
Please only use this branch if you know exactly what you're doingThe post fixes branch should normally be stable but can still contain broken code between releases.
 
+
[[Image:Git Summary.png|center|640x112px]]
+
 
+
Scroll down, and you will see not just the master head, but also the several tagged releases and working branches.
+
 
+
The tarball or zip source code package for any particular revision can be downloaded by the ''tar/gz'' and ''zip'' links in the rightmost "Actions" column.
+

Latest revision as of 07:01, 16 October 2019

[edit] Source Code via Git

This page is for developers and testers only. If you are just using OpenSim, but not involved in developing it, we ask that you stick to packaged releases, preferably binary distributions.

OpenSimulator uses Git as its source control tool. For more information on installing and using Git, please see Using Git.

Do not run master git in production environments; it is not suitable for that unless you are very familiar with the source code, and can hot fix any piece of it (that probably means you are an OpenSimulator developer). Feedback and testing on the unstable tree is very much appreciated, as that helps us make the next release better.

  • Latest git revision version (bleeding edge)
git clone git://opensimulator.org/git/opensim
  • To checkout a specific revision

After creating the clone, change into the directory and:

git reset --hard ########

The current master requires .net 4.6+ (Windows) or mono5+ (Linux)

Where ######## is the unique hash of the version you are interested in.

  • To clone the repository if you are a core developer
git clone ssh://<username>@opensimulator.org/var/git/opensim

[edit] Source Code via ViewGit Web Utility

You can also get OpenSimulator code via the ViewGit web utility at

http://opensimulator.org/viewgit/?a=shortlog&p=opensim

You'll see a list of revisions as shown below.

Git Summary.png

Scroll down, and you will see not just the master head, but also the several tagged releases and working branches.

The tarball or zip source code package for any particular revision can be downloaded by the tar/gz and zip links in the rightmost "Actions" column.

[edit] Repository Structure

The master git branch contains OpenSimulator code in development.

Each main release will have a separate branch named <version>-post-fixes. For instance, 0.7.3 was released from the branch 0.7.3-post-fixes. It's named 'post fixes' because it contains fixes that are ported from development code in a controlled manner. It starts out as a new branch from the master code line when we start the new release process.

Each release has a tag with the format <version>-release. So 0.7.3 is tagged as 0.7.3-release.

Hence, to get the release code of 0.7.3 from the repository you would use the command.

git checkout 0.7.3-release

Minor point releases (e.g. 0.7.3.1) are also released from the post fixes branch from which their main release was taken. So 0.7.3.1 would be released from 0.7.3-post-fixes. It would also be tagged as 0.7.3.1-release.

One can also retrieve the post fixes branch at any point with a command such as

git checkout -b 0.7.3-post-fixes origin/0.7.3-post-fixes

Please only use this branch if you know exactly what you're doing. The post fixes branch should normally be stable but can still contain broken code between releases.

Personal tools
General
About This Wiki