= Current development repositories = == Main development repositories (!GitHub) == After OpenVPN 2.3-alpha1 several major changes were introduced in OpenVPN project structure, e.g. splitting several large chunks of code away from the main development tree into their own subprojects under the [https://github.com/OpenVPN OpenVPN organization] in [https://github.com GitHub] (adapted from [http://thread.gmane.org/gmane.network.openvpn.devel/6280/focus=6297 here]): * [https://github.com/OpenVPN/openvpn openvpn]: a standard open source project, autotools-based build system and like any other project it's buildsystem only builds itself. * [https://github.com/OpenVPN/openvpn-gui openvpn-gui]: a graphical frontend for OpenVPN running on Windows * [https://github.com/OpenVPN/openvpn-build openvpn-build]: a separate project to build openvpn in various of configurations. This project is divided into the following components: * ''generic'': a generic build using cross compiler, included the complete dependencies. * ''msvc'': a MSVC build using Microsoft specific ''msbuild'' system. (NOTE: not actively maintained) * ''windows-nsis'': the Windows installer generator that uses the generic component to build using mingw cross compiler, then package the output using NSIS. * [https://github.com/OpenVPN/tap-windows tap-windows]: the Windows TAP driver (NDIS 5 version), which is also useful outside OpenVPN * [https://github.com/OpenVPN/tap-windows6 tap-windows6]: the Windows TAP driver (NDIS 6 version), which is also useful outside OpenVPN * [https://github.com/OpenVPN/easy-rsa easy-rsa]: scripts for generating SSL certificates for use with OpenVPN (or for other purposes) * [https://github.com/OpenVPN/openvpn-windows-test openvpn-windows-test]: Powershells scripts for automating testing of OpenVPN on Windows. Mirrors of most of these !GitHub repositories are available in [http://sourceforge.net/p/openvpn/_list/git?source=navbar SourceForge.net]. == Branches and tags in openvpn.git == The branches found in the openvpn.git repository are: {{{ master -- The main development branch. * All new patches should be based on this branch * release/2.1 -- Everything related to the OpenVPN version 2.1 releases release/2.2 -- Everything related to the OpenVPN version 2.2 releases release/2.3 -- Everything related to the OpenVPN version 2.3 releases release/2.4 -- Everything related to the OpenVPN version 2.4 releases release/2.5 -- Everything related to the OpenVPN version 2.5 releases release/2.6 -- Everything related to the OpenVPN version 2.6 releases }}} Release branches do not have any active development and only bug fixes are typically applied to these branches after the release. A new release branch is created for each major release (2.x). All bug fixes should be developed against the master branch, and where it is decided to include such fixes in a minor release (2.1.x, 2.2.x, etc), it will be cherry-picked from the master branch and into the suitable release branches. All major and minor releases are also [http://www.kernel.org/pub/software/scm/git/docs/git-tag.html tagged], and tags can be inspected by using the following git commands: {{{ $ git tag -l # Lists all tags $ git tag -v # Verifies a signed tag $ git show # Shows the tag message and the commit the tag points at }}} For details about the development process look [wiki:DeveloperDocumentation here]. = Obsolete repositories = == James' SVN repository == James Yonan used to host his own SVN repository at ''openvpn.net'', but it was taken offline in late 2013 / early 2014 and replaced with James' own openvpn.git repo on !GitHub. == Old CVS repository == For the historians among us there's the old CVS tree, which has been made available as an inactive git tree. This tree can be browsed [http://openvpn.git.sourceforge.net/git/gitweb.cgi?p=openvpn/openvpn-historical-cvs.git here] or downloaded locally: {{{ git clone git://openvpn.git.sourceforge.net/gitroot/openvpn/openvpn-historical-cvs.git }}} Note that ''no new development'' happens in this tree.