Archive for the ‘Subversion’ Category
December 4, 2009
Subversion does not support labels as many version control tools do. Instead Subversion uses the svn copy command to create ‘tags’.
By convention a Subversion repository is often divided into three sub-directories;
- trunk, where the main development is often (though not necessarily) done;
- branches, where (unsurprisingly) we maintain branches that may be used for any number of reasons to isolate some sequence of changes from the trunk;
- tags, where we maintain tagged sets of files and directories.
It is this last area tags that this post considers in more detail. Read the rest of this entry ?
Posted in CMCrossroads, Subversion, Tools 'n' Tips | Tagged Subversion, svn copy, tag | 2 Comments »
July 7, 2009
One recurring issue users bring up when using Subversion’s own svnserve server and its own internal authentication system (password-db) is that users cannot easily change their own passwords.
The problem is that, when using svnserve and the internal password-db, usernames and passwords are held in a plain text file, usually within the conf directory of the repository to which they apply. This file cannot be made read/writeable to all users because this would allow all users to both see and change one other’s passwords (which would be very silly).
The usual solution to this is for the administrator to issue passwords to users and whenever a user wishes to change their password they ask the administrator to do it for them.
Here is a method for allowing users to change their own passwords. In summary, this is a hook script that intercepts requests to delete a special file. When an attempt is made to delete this special file the script assumes that the log message is the new password to be set for the user who requests the deletion. It then changes the entry in the local Subversion password database and rejects the request to delete the file.
Full details are available on the Principia Subversion FAQ.
Posted in Subversion | Tagged change password, hook, passwd, password, password-db, Subversion, svn | Leave a Comment »
June 20, 2009
This post is an extended discussion covering removal of paths from a Subversion repository, covered more succinctly in the Subversion FAQ.
Before you start removing paths from your repository consider this: Subversion was not designed to have paths removed. That is why you cannot remove paths using the standard client interface, in fact you need to be an administrator and have direct access to the repository’s physical file system. Removing paths from a repository is a last resort. (There is a suggestion for an svn obliterate feature to provide path removal through the standard client, for which a functional specification has been placed in the Subversion development notes, but until this is implemented the following is the only mechanism available for permanently removing paths from a repository.)
Why might you want to permanently remove a path from your repository? Legitimate reasons include:
- Archive old material from a very large repository to save space.
- Remove sensitive information from a repository (perhaps added accidentally)
Strictly speaking we do not actually remove paths from a repository, we build a completely new repository. To do this we use three commands; svnadmin dump, svndumpfilter, svnadmin load. Read the rest of this entry ?
Posted in Subversion | Tagged dump, load, Subversion, svn, svnadmin, svndumpfilter | Leave a Comment »