Source Code Repository

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Source Code via Git)
 
(19 intermediate revisions by 5 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]].  
  
If you are truly feeling dangerous, adventurous, or want to help us test the next version of OpenSim you are welcome to grab the latest unstable code out of our git master repository.  Any warnings previous expressed about the alpha nature of the code go double or triple if you are running directly off of master.  '''Never, ever, ever, never''' run this 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 core member). Feedback and testing on the unstable tree is appreciated, as that helps us make the next release better.  If this scares you from using git master, that was intended.
+
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)'''
+
  svn co http://opensimulator.org/svn/opensim-track/trunk opensim
+
 
+
To do this with git:
+
 
+
git-svn clone http://opensimulator.org/svn/opensim-track opensim -T trunk
+
 
+
  
 
= Source Code via ViewGit Web Utility =
 
= Source Code via ViewGit Web Utility =
Line 31: Line 26:
 
You can also get OpenSimulator code via the ViewGit web utility at
 
You can also get OpenSimulator code via the ViewGit web utility at
  
  http://opensimulator.org/viewgit/?a=summary&p=opensim
+
  http://opensimulator.org/viewgit/?a=shortlog&p=opensim
  
You'll see a list of revisions as shown below.
+
You'll see a list of revisions as shown below.  
  
 
[[Image:Git Summary.png|center|640x112px]]  
 
[[Image:Git Summary.png|center|640x112px]]  
Line 40: Line 35:
  
 
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.
 
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.
 +
 +
= 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.

Latest revision as of 06: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