Difference between revisions of "Subversion"
m |
m (→See also) |
||
Line 146: | Line 146: | ||
*[[MediaWiki SVN Statistics]] | *[[MediaWiki SVN Statistics]] | ||
*[http://www.abbeyworkshop.com/howto/misc/svn01/ Subversion cheatsheet] | *[http://www.abbeyworkshop.com/howto/misc/svn01/ Subversion cheatsheet] | ||
− | |||
*[http://svnbook.red-bean.com/nightly/en/index.html Subversion book] | *[http://svnbook.red-bean.com/nightly/en/index.html Subversion book] | ||
*[http://vis.cs.ucdavis.edu/~ogawa/codeswarm CodeSwarm] ''- renders video's of subversion repository activity'' | *[http://vis.cs.ucdavis.edu/~ogawa/codeswarm CodeSwarm] ''- renders video's of subversion repository activity'' | ||
*[http://home.introweb.nl/d/dodger/svnauthor.html Changing the username of a revision] | *[http://home.introweb.nl/d/dodger/svnauthor.html Changing the username of a revision] | ||
[[Category:Subversion]] | [[Category:Subversion]] |
Revision as of 17:00, 16 April 2013
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
- WebSVN
- 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
- Subversion cheatsheet
- Subversion book
- CodeSwarm - renders video's of subversion repository activity
- Changing the username of a revision