24 Jul 08

This article assumes that you have installed and running Apache Server 2.0.59 and Apache is hosting your Subversion 1.4.4 repositories on windows XP machine. Might work with other versions and other Operating Systems also but same is not tested as far as I am concerned.

Step1: Changes in Apache httpd.conf

Add SVNAutoversioning directive in your Apache’s configuration file as shown below, which can be found in conf directory Apache installation.

When SVNAutoversioning is active, write requests from WebDAV clients result in automatic commits. A generic log message is auto-generated and attached to each revision. Before activating this feature, however, understand what you’re getting into. WebDAV clients tend to do many write requests, resulting in a huge number of automatically committed revisions. For example, when saving data, many clients will do a

PUT

of a 0-byte file (as a way of reserving a name) followed by another

PUT

with the real file data. The single file-write results in two separate commits. Also consider that many applications auto-save every few minutes, resulting in even more commits.

If you have a post-commit hook program that sends email or generates RSS feeds, you may want to disable email and feed generation either altogether, or on certain sections of the repository.

<Location /repos>

DAV svn

SVNPath /path/to/repository

SVNAutoversioning on

ModMimeUsePathInfo on

</Location>

ModMimeUsePathInfo allows

mod_mime

which is Apache’s module to attempt automatic deduction of the mime-type on new files that enter the repository via autoversioning. The module looks at the file’s named extension and possibly the contents as well; if the file matches some common patterns, then the the file’s

svn:mime-type

property will be set automatically. For this you will have to uncomment or add the load module directive for mod_mime.

LoadModule mime_module modules/mod_mime.so

Make sure that this line is present in load module section of httpd.conf and uncommented.

Now your Apache is set to accept DeltaV or WebDAV Clients.

Step2: Creating Network Share

Create network share i.e. a web share on some client machine or you can do it on same machine.

Go to My Network places -> add network place

You will see add a network place wizard click on next, than you will ask where you want to create this network place click next.

You will see a window as shown below asking you to enter Internet or network address

Enter http path to your repository, please don’t forget to add port number to it. e.g. http://myserver/repos and click next than you will be asked for authentication enter your credentials for repository access and than it will ask you the name of your network share enter any name you want.

Your repository is mounted as network or Web Share.

Now you can edit your files and cross check your repositories log messages to see auto commits and auto generated log messages. Which say’s commit by a non DeltaV client.

But before really using it you should make sure that you should know what you are doing. As far as I see this can be of great help to people who are non-developer and want to manage documentations with customers and among there team with actually needing a Subversion client lie Tortoise, many people think it’s a killer feature and I am no exception to it but the bottom line is that it comes at cost and you should know what the cost is and you are willing to pay it.


Filed under: OpenSource

Trackback Uri


5 Comments.

  • AlexM says:

    Your blog is interesting!

    Keep up the good work!

  • Thanks for appreciation Alex :)

  • fizeen says:

    Hi,
    i have configured auto versioning for a svn repository.If i have a directory say ‘A’ and it has number of files in it and if i modify the content of the file say file1(file1 is a file in directory ‘A’),save it and check for revision numbers of the file1 using a svn client ‘Syncro’ i was able to see only the latest two revisions .Again i made some changes to the same file ‘file1′ saved the file and checked for the revision numbers.It showed me the last updated two revision numbers.I was not able to see the previous revision numbers..But if i check for the revision numbers for the directory ‘A’ it is showing all of the revision numbers (showing revision numbers for each and every changes done to files in it).I am sure autoversioning functionality is working properly but why is showing only the latest revision numbers for the file in the repo but showing all the revision numbers while checking the for the folder containing the file..I hope that my problem is quite clear to you..Please help me in this regard..Thanks in advance..
    __________________

Trackbacks/Pingbacks

  1. [...] For reference on how to set up Subversion repository as network share drive using Windows Web-folders please read Using Subversion Repository as WebShare. [...]

  2. [...] … addresses. Executing a callback for all files in a directory. Why I'll never eBay again …Using Subversion Repository as WebShare | Learning is an ArtThis article assumes that you have installed and running Apache Server 2.0.59 and Apache is hosting [...]



Leave a Comment

Security Code: