Wednesday, October 26, 2005
CVS to SVN Conversion
1. Atomic commits.
2 CVS maintains the file level versioning whereas SVN maintains a project level versioning. We get the changeset of what files were changed in a particular commit without the hacks of same time commits as in CVS.
3 Braching and tagging are now a O(1) operation than O(n) as it was in CVS. For us we do a lot of releases and tagging and branching operations were quiet often and we used to wait for 10-15 mins for it to complete. Now it just zips fast.
4 File renaming and even directory level tracking. (This is one feature for which I would definitely change. We do a lot of refactoring and it was causing us loose history in cvs and now its like a breeze)
5 Better handling of the binary files. We maintain a lot of word doc and if some users forget the -kb switch we were really loking for a trouble in cvs.
6 Better network usage. Some of the operations like diff, revert, status can be done without the network so it makes your job easy to carry work home and work without the repository.
7 separation of update and status clears a lot of confusion and you can update the code only when you need it not to look at the changes made.
8 Properties handling is much cleaner way of storing associate information.
9. Undoing changes made in a single changeset is much easier than rolling back at each file level.
Ok I think we are convinced that SVN gives better facilities than CVS. Now coming to moving of the repository we would like to maintain the history of the repository. There are a couple of ways of doing it
1. To get the latest source code imported to SVN and maintain the CVS as a readonly repository for previous history.
2. Use cvs2svn or there are a couple of more scripts available to convert your cvs repository to SVN repository. They convert your branches, tags and group the changesets based on the time of commit. My version of CVSNT I had was 2.0.51d. I downloaded CVS2SVN 1.3 version and started my conversion.
CVS2SVN conversion program doesnt work on Windows environment. I downloaded the cygwin library and ran the python script from cygwin and boom the repository got converted. I had to do some tweaks like giving the --force-tag --use-cvs attributes. The error messages provided were pretty clear and it took about 30 minutes to convert my entire repository and I had a total of 4000 changesets.
We work on eclipse and so I got the subclipse client setup. Now i can take on rampant refactoring projects. Happy moving files around.
Thursday, October 20, 2005
Server Application Unavailable Problem in ASP.NET
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.
An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what cuased this error to occur.
APPLICATION EVENT LOG ENTRY:
Source: ASP.NET 1.1.4322.0
Event ID: 1088
Description: Failed to execute request because the App-Domain could not be created. Error 0x80070005 Access is denied.
Recently ran into this issue and the fix which helped me was to run check server extensions. Follow the below steps
Go to IIS Manager
Default web sites right click on it
Select Check Server Extensions