Difference between revisions of "Subversion"
(→See also: Changing the username of a revision) |
m (→See also) |
||
Line 143: | Line 143: | ||
== See also == | == See also == | ||
*[[Configure SVN]] ''- our procedure for setting up SVN and WebSVN on our servers'' | *[[Configure SVN]] ''- our procedure for setting up SVN and WebSVN on our servers'' | ||
− | |||
*[[MediaWiki SVN Statistics]] | *[[MediaWiki SVN Statistics]] | ||
*[http://zaphod.leonweber.de/codeswarms/mediawiki.h264.1024x786.avi CodeSwarm video of MW repository] (38M) | *[http://zaphod.leonweber.de/codeswarms/mediawiki.h264.1024x786.avi CodeSwarm video of MW repository] (38M) | ||
*[http://www.howtoforge.com/debian_subversion_websvn Setting up websvn on Debian/Apache] | *[http://www.howtoforge.com/debian_subversion_websvn Setting up websvn on Debian/Apache] | ||
− | |||
*[http://abbeyworkshop.com/howto/misc/svn01/ Svn Cheatsheet] | *[http://abbeyworkshop.com/howto/misc/svn01/ Svn Cheatsheet] | ||
*[http://www.onlamp.com/pub/a/bsd/2005/08/11/FreeBSD_Basics.html?page=1 Secure subversion] | *[http://www.onlamp.com/pub/a/bsd/2005/08/11/FreeBSD_Basics.html?page=1 Secure subversion] |
Revision as of 12:43, 18 August 2012
MediaWiki's SVN uses SSH public key so you don't need a password, so you'll need to supply your ~/.ssh/id_rsa.pub file to the person setting up your commit access (if that files doesn't exist, run ssh-keygen from non-root shell using blank passwd when prompted, see this link for details). Also, you need to set up your auto-props. Note also that the commit's are automatically shown on the #mediawiki IRC channel (see freenode FAQ re registering a nickname etc) so it's good to have that open when working on the MediaWiki code.
The WikiMedia repository
See MW:Subversion for details about using MediaWikis SVN. Here's some examples showing retrieval of the current version of the code-base, the current version of an extension, and a version of an extension for MediaWiki 1.16 respectively.
Usage
The most important command to know is how to get help;
To obtain a log of the changes made in a svn project;
Or to get changes between a certain date range in a local repo;
To create a new repository on the server ready for importing a directory of files;
This creates a concise database directory for the new repository on the SERVER in the directory called /tmp/SERVER;
Create an example directory for upload;
Listing the contents in the repository directory path;
To make a local copy you need to use the checkout command. This creates a new directory (default called newrepos) which is a local copy of newrepos.
Note: The directory the svn command is run in determines where the local checkout directories and files will end up.
Now that you have created a local copy all work should be conducted within it. There is a hidden directory called .svn which contains all the information required for the svn framework;
To update a file on your CLIENT directory;
To add a new file to the local svn copy, first make a new file within the directory structure;
The status command will identify differences between the CLIENT copy and the SERVER copy of the repoistory;
The following list provides the details of svn status output;
Problems
When attempting to import the /var/www structure into the /var/svn/www repository it bailed after coming across a filename containing special characters with the following fatal error:
SVN GUI's
- Linux: kdesvn - and many others
- Windows: tortoisesvn
- Macos: svnx
See also
- Configure SVN - our procedure for setting up SVN and WebSVN on our servers
- MediaWiki SVN Statistics
- CodeSwarm video of MW repository (38M)
- Setting up websvn on Debian/Apache
- Svn Cheatsheet
- Secure subversion
- cvs to svn Experiences
- subversion cheatsheet
- Centrestage tutorial
- BioConductor SVN tutorial
- Subversion book
- CodeSwarm - renders video's of subversion repository activity
- Useful SVN commands (wiki)
- Changing the username of a revision