Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
systems:subversion_setup_and_configuration [2009/11/20 09:59]
smayr
systems:subversion_setup_and_configuration [2018/01/04 15:56] (current)
ajdavis
Line 1: Line 1:
-== Subversion Setup and Configuration ==+== Subversion Setup and Configuration (SVN) ==
  
 This article explains how to perform version control using Subversion (Linux or Windows server) and SVN (Linux client) or TortoiseSVN (Windows client). This article explains how to perform version control using Subversion (Linux or Windows server) and SVN (Linux client) or TortoiseSVN (Windows client).
Line 21: Line 21:
   $ sudo -u svnuser svnserve -d -T -r /data/repos   $ sudo -u svnuser svnserve -d -T -r /data/repos
   $ su -l svnuser -c "svnserve -d -T -r /data/repos"   $ su -l svnuser -c "svnserve -d -T -r /data/repos"
 +  
 +Add exception rule to firewall to allow traffice through port 3690 on the subversion server. In Ubuntu:
 +  $ ufw status
 +  $ # Only to 192.168.0.31: ufw allow from 192.168.0.0/24 to 192.168.0.31 port 3690
 +  $ ufw allow from 192.168.0.0/24 to any port 3690
  
 > ** Note for SELinux / Fedora Core 3+ / Red Hat Enterprise users ** ((Subversion FAQ, http://subversion.tigris.org/faq.html)) : > ** Note for SELinux / Fedora Core 3+ / Red Hat Enterprise users ** ((Subversion FAQ, http://subversion.tigris.org/faq.html)) :
Line 194: Line 199:
 exit 1 exit 1
 </code> </code>
-Make sure the file is owned by svnuser:svnuser and permissions are set to user read-execute (-r-x------).+Make sure the file is owned by ''svnuser:svnuser'' and permissions are set to user read-execute (''-r-x------'').
  
 ==Subversion under Windows== ==Subversion under Windows==
Line 257: Line 262:
 ====Repository Authentication (Detailed)==== ====Repository Authentication (Detailed)====
  
-The default svnserve setup provides anonymous read-only access, so whilst you can use the repo-browser in TortoiseSVN to view a repository using an ''<nowiki>svn://</nowiki>'' URL, you won't be able to perform any normal Subversion operations such as checkout, update or commit.+The default svnserve setup provides anonymous read-only access, so whilst you can use the repo-browser in TortoiseSVN to view a repository using an ''<nowiki>svn://</nowiki>''//URL//, you won't be able to perform any normal Subversion operations such as checkout, update or commit.
  
 To enable write access to a repository, you need to edit the ''conf/svnserve.conf'' file in your repository directory. This file controls the configuration of the svnserve daemon, and also contains useful documentation. To enable write access to a repository, you need to edit the ''conf/svnserve.conf'' file in your repository directory. This file controls the configuration of the svnserve daemon, and also contains useful documentation.
Line 305: Line 310:
  
 ====Test Server==== ====Test Server====
-Point browser or SVN client (TortoiseSVN or RapidSVN) to repository. For example: ''svn://localhost/ezfit4''+Point browser or SVN client (TortoiseSVN or RapidSVN) to repository. For example: ''<nowiki>svn://</nowiki>localhost/ezfit4''
  
 ===Checkout a Project (get a Working Copy)=== ===Checkout a Project (get a Working Copy)===
Line 332: Line 337:
 </code> </code>
 Perform previous steps for each repository that needs log editing. Perform previous steps for each repository that needs log editing.
- 
- 
 === Setup Branches and Tags === === Setup Branches and Tags ===
 * Branches are parallel development copies, to add new features without tampering with the main project trunk.   * Branches are parallel development copies, to add new features without tampering with the main project trunk.  
Line 340: Line 343:
 **Create a Branch/Tag** **Create a Branch/Tag**
  
-To create a branch (or tag), simply use the ''copy'' command in svn (or Branch/Tag under TortoiseSVN), and select a target folder such as ''svn://server/projname/branch/projname-1.0''+To create a branch (or tag), simply use one of the following: 
 +  * In svn use ''copy'' command: <code bash> % svn copy SRC DST </code> 
 +  * In TortoiseSVN use Branch/Tag command:  
 +    * Right-click on project 
 +    * TortoiseSVN > Branch/Tag 
 +    * Select a target folder such as ''<nowiki>svn://</nowiki>server/projname/branches/projname-1.0'' 
 + 
 +=== Synchronizing Branch To Trunk === 
 + * Periodically you merge trunk changes into the branch, so that the branch contains all the trunk changes plus the new feature. The synchronisation process uses Merge a range of revisions. When the feature is complete then you can merge it back to trunk using either Reintegrate a branch or Merge two different trees.  
 + * [[http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html|Basic Merging]]