project_management:subversion
Differences
This shows you the differences between two versions of the page.
project_management:subversion [2010/06/09 12:12] – created 172.26.14.218 | project_management:subversion [2020/01/30 12:52] (current) – removed aorth | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Subversion ====== | ||
- | Subversion (SVN) uses a centralized model to manage software projects. | ||
- | |||
- | The repository can be on the local machine or a remote server, as SVN supports several protocols (%%svn:// | ||
- | |||
- | ===== Install ===== | ||
- | < | ||
- | Configure Apache: | ||
- | |||
- | ===== Create a New Project ===== | ||
- | ==== On The Server ==== | ||
- | |||
- | Create the project skeleton (the name isn't important, it is only a folder in the file system): | ||
- | < | ||
- | $ sudo mkdir / | ||
- | |||
- | Create the SVN repository, : | ||
- | < | ||
- | $ sudo svnadmin create / | ||
- | |||
- | Import the initial project skeleton: | ||
- | < | ||
- | |||
- | Clean up temp files and repository permissions. The repository needs '' | ||
- | < | ||
- | $ sudo find / | ||
- | $ sudo find / | ||
- | $ sudo chown -R root.www-data / | ||
- | |||
- | Tell Apache to use ''/ | ||
- | < | ||
- | DAV svn | ||
- | SVNPath / | ||
- | AuthzSVNAccessFile / | ||
- | |||
- | AuthName " | ||
- | AuthType Basic | ||
- | |||
- | PerlAuthenHandler Apache2:: | ||
- | PerlSetVar MSADDomain ilri.cgiarad.org | ||
- | PerlSetVar MSADServer 172.26.0.218 | ||
- | |||
- | # require any valid AD user to access the repo via Apache, | ||
- | # then use fine-grained controls in the AuthzSVNAccessFile | ||
- | # above. See: http:// | ||
- | require valid-user | ||
- | |||
- | # Or, use specific (but dumb) controls here in the Apache | ||
- | # config file instead of the AuthzSVNAccessFile above. | ||
- | #require user aorth akihara | ||
- | </ | ||
- | Gracefully restart Apache to enable the changes: | ||
- | < | ||
- | |||
- | ==== On The Client ==== | ||
- | |||
- | Check out the development branch (" | ||
- | < | ||
- | $ svn co --username=aorth https:// | ||
- | |||
- | Import your existing code base (" | ||
- | < | ||
- | $ cp -R / | ||
- | $ svn add * | ||
- | $ svn commit -m " | ||
- | |||
- | ===== Ignoring Files and Folders ===== | ||
- | Sometimes you need to ignore certain files/ | ||
- | < | ||
- | And then place a single " | ||
- | |||
- | ===== Tagging Releases ===== | ||
- | ==== From trunk ==== | ||
- | < | ||
- | $ svn copy . http:// | ||
- | |||
- | Switch a working copy to a certain release: | ||
- | < | ||
- | |||
- | ===== Links ===== | ||
- | * http:// |