If you are using both: SVN (Tortoise SVN) and Total Commander you may have encountered some problems regarding overlay icons. There is a special option in Total Commander available that forces it to display SVN (and not only) overlay icons, but not only me was having a problem with it. The strange thing was that icons were visible in Explorer, but not inside TC. The solution I came upon was to open Task Manager (Ctrl+Shift+Esc) and manually kill “TSVNcache.exe”. After a while icons appeared in TC, and the problem seem to be gone – till the next reboot. The solution was not very convenient, so I was looking for some smarter approach to this problem. And finally I have found one. It didn’t work immediately (I had to reboot) but now it works fine (sometimes icons do not appear at once, but after a couple of minutes after booting everything is ok). It is funny, that I didn’t think of doing so before, and that nobody on TC forum knew about how to find a way round this problem.
Tags: svn, Total Commander
After struggling with VSS for quite some time I decided to switch to SVN with all my private projects. I have used SVN before and I think it is great, but never had enough time to migrate all the projects. I thought that such an operation could not be painless. History of all changes was crucial for me – I did not want to devote all those information held by VSS just because of the migration. I started looking for some kind of script I could use… and I was very lucky, because almost immediately I found the solution that did all the work for me. VssMigrate is a command line C++ utility developed by a bunch of folks (y
ou will find all the info on the utility site). At the project page one will find a bunch of releases (bug fixes, additional features…) – personally I think the best idea is follow author’s advice and download one of the latest (the one with ‘tim2′ suffix seems to be the latest one – it automatically removes VSS bindings). VssMigrate seems to be quite mature and as much developer-friendly as could be – the only thing one has to do is to configure this tool by editing .config file. It did take me, however, a couple of minutes to configure it properly, but when I figured out the proper values… the migration was quick as lightning. Below you may find configuration that worked for one of my projects:
<add key="VSSWIN32" value="C:Program FilesMicrosoft Visual SourceSafe"/>
<!-- # VSSWin32 directory which contains ssapi.dll-->
<add key="VSSDIR" value="d:VSS"/>
<!-- #VSS repository directory (contains srcsafe.ini)-->
<add key="VSSPROJ" value="$/RegionCreator/"/>
<!-- #VSS project to start at (ie $/Product)-->
<add key="VSSUSER" value="<user>"/>
<!-- #User to use for VSS commands, use blank for none-->
<add key="VSSPASSWORD" value=""/>
<!-- #password to use for VSS commands, blank is OK-->
<add key="SVNUSER" value="<computer_name><user_name>"/>
<!-- #User to use for SVN commands, use blank for none-->
<add key="SVNPASSWORD" value=""/>
<!-- #password to use for SVN commands, blank is OK-->
<add key="SVNURL" value="file:///D:/Svn/RegionCreator"/>
<!-- #URL to use for the root of the check in-->
<add key="SVNPROJ" value="trunk"/>
<!-- #SVN project to start at (ie $/Product)-->
<add key="SVNREVPROPSPATH" value="d:Svndbrevprops"/>
<!-- #SVN Repository directory (ends in [RepositoryName]dbrevprops)-->
<add key="WORKDIR" value="c:Tempvss"/>
<!-- #Directory under which files and directories will be created as work progresses-->
<add key="DEBUG" value="1"/>
<!-- #turn on debug output, blank is OK-->
<add key="AUTORETRY" value="1"/>
<!-- #if a command fails to run, it will be run automatically 1 time before failing-->
Thanks to the comments, and sample values – editing config file was not such a big hassle as I was expecting. Just to make it even clearer – I will describe some properties that may not be obvious at the beginning:
- [line 5] “VSSPROJ” should hold internal path of a project inside VSS.
- [line 19] “SVNREVPROSPATH” should point into “dbrevprops” that is located right under the folder when SVN repository was created
- [line 21] “WORKDIR” is a temporary directory used during the migration process. The directory must exist before running migration utility.
I am not sure if I have configured it properly, but it worked for me as a charm. The only disadvantage I can think of is that it is impossible to import all the content of VSS at once. One has to change configuration for every project that needs to be copied to SVN. It just take me about 15 minutes to move 8 solutions (most of them consisting of 3-4 projects).
And at the end… it is a good idea to remove source control bindings before releasing your sources, right? And why do it manually if there is another great tool that does all this work? :)
Tags: svn, Visual SourceSafe
Having your sources (the private projects) only on one machines is not a good idea. The need of creating backups is obvious, but much more convenient for any developer is to be able to store source files in outer version control system. A few weeks ago I have discovered Assembla. It was a great site, that offered free svn hosting (200MB of space), free trac and many more services that most of developers would find very useful. Unfortunately I just got an email from Assembla, where the staff informs that within a month they stop offering private free spaces. You just have to decide if you want to convert your space to public one (i.e. publicly available to anyone) or you prefer to pay for a private one. Well… I choose neither. Instead I started looking for an alternative. It is quite hard, because Assembla was not only a svn hosting, but for me it was the most important service. I think that XP-Dev and Codespaces are worth trying. I just hope that there will be a free svn hosting service for all people developing free projects (not only open source, but also closed source free). I think it will be a great loss if there is no such a possibility.
Tags: svn
SVN is nowadays one of the most popular version control systems. There is a great tool for Windows called TortoiseSVN – it is very popular, easy to use and has a lot of features. But… it is not very convenient while developing. The need to switch from Visual Studio just to check-in, resolve conflicts… well it is definitely not what I want. I wanted to have a tool that integrates with Visual Studio just like Microsoft’s Visual Source Safe or TFS does. Quite a while ago I tried AnkhSVN, but it didn’t work as good as I wanted – it had a heavy impact on my Visual Studio (sometimes I had to wait very long to be able to do anything – because VS tended to freeze).
Few months ago I found out that many people praise VisualSVN. It is not a plugin (just like the old AnkhSVN) – it uses SCC interface, so it behaves just like VSS/TFS. Some people says that the only thing they dislike is that they feel it just a wrapper for TortoiseSVN (VisualSVN just launches TortoiseSVN’s dialogs for most of the operations). I think it is not a disadvantage – TortoiseSVN is a great client, so if there is a way to use not, and not be forced to switch from Visual Studio to Explorer / Total Commander / any other shell… that’s just great (for me). The only disadvantage of VisuaSVN is that one have to pay for it. In the past it was very cheap (19$) but after gaining popularity it became much more expensive – now it costs 50$ (but there is a way to get it for free – one just have to be active developer involved in open source project).
Well… I wanted to find a free alternative, and that’s how I found Garry Bodsworth’s special settings, that integrates TortoiseSVN with Visual Studio. It is free. It is fast (there is no impact on Visual Studio performance). It contains both: version for VS2008 and VS2005. Perfect? Well… almost ;) It is just a setting file, so ‘Pending Checkins’ won’t work, there is no mechanism showing new files or changed files in projects / solutions…
All those things that Garry’s settings lacks are provided by the latest, totally rewritten version of AnkhSVN! Now AnkhSVN works not as a plugin, but as SCC package – the integration is done the way it should be. The impact on Visual Studio performance is not noticeable. ‘Pending Checkins’ works just like with VSS / TFS, managing newly added, changed or deleted files in solutions / projects is much simpler – thanks to showing all the changes right in the solution view. Personally I think that TortoiseSVN’s dialogs are better ;) so at the moment I am using both – Garry’s settings and AnkhSVN. Garry’s settings allows me to use very well known by me mechanisms provided by TortoiseSVN, and AnkhSVN shows me all the changes I have made recently – it saves me a lot of time, and I am sure I won’t miss any file while doing heck-in.
Tags: svn, Visual Studio, Visual Studio plugins