TortoiseSVN is an Apache™ Subversion (SVN)® client, implemented as a Windows shell extension. It's intuitive and easy to use, since it doesn't require the Subversion command line client to run. And it is free to use, even in a commercial environment. Simply the coolest Interface to (Sub)Version Control!
We're proud to announce that TortoiseSVN 1.9.7 has been released. It is linked against Subversion 1.9.7.
This is a a bugfix release with one bigger issue fixed in the svn library:
- CVE-2017-9800: Arbitrary code execution on clients through malicious svn+ssh URLs.
Please read the release notes to get a list of many of the new features in TortoiseSVN.
Apart from the features listed in the release notes, there were also a lot of smaller improvements which are too many to list.
Before upgrading from pre 1.9 versions please read the release notes.
Please read those thoroughly before you upgrade to TortoiseSVN 1.9 to avoid any surprises.
If you're using Visual Studio, you can integrate TortoiseSVN commands to various context menus. Of course, there are Subversion plugins for Visual Studio, but if you're using one of the free versions of Visual Studio, you can not use those plugins. And sometimes it's still nice to have some of the TortoiseSVN commands available from Visual Studio directly, even if you have such a plugin installed.
So I made another tool: CryptSync.
CryptSync is a small utility that synchronizes two folders while encrypting the contents in one folder. That means one of the two folders has all files unencrypted (the files you work with) and the other folder has all the files encrypted.
The synchronization works both ways: a change in one folder gets synchronized to the other folder. If a file is added or modified in the unencrypted folder, it gets encrypted. If a file is added or modified in the encrypted folder, it get decrypted to the other folder.
More information here about CryptSync.
Subversion's design is made up so that you will never ever lose any data. But there's one command that will do exactly that: Revert.
Reverting means discarding all modifications you've made to one or more files which you haven't committed yet.
But what if you selected the wrong file(s) to revert? Sure, TortoiseSVN always asks you first before it reverts the files. But as we all know, such "Are you sure?" dialogs are too easily dismissed by clicking "Yes".
So what if you reverted files and you then discover that you shouldn't have done that?
The revision graph is a nice way to get a quick overview of your project. However you can not share the graph with other people unless you save it as an image and pass the image on.
If the revision graph is small, then saving the graph as a PNG image will do just fine. But as with all images, a PNG does not scale very well. And if the revision graph is already big the resulting image file can get quite big as well. It can even get too big to show.
Auto Aero Colors
Windows 8 has a new feature where the Aero colors can be automatically adjusted according to the selected wallpaper.
This seems to be a nice feature, and there's even a tool available that offers that feature for Windows 7: Aura.
But there are some things about Aura that bother me, so I hacked together my own tool which offers that feature.
Unlike Aura, AAClr is written in plain C++ and doesn't use the .NET Framework. For tools that are supposed to be started automatically on logon, this ensures that the whole startup time doesn't increase by several seconds.
AAClr also detects changes in wallpapers by catching events from the system and doesn't use timers that access the wallpaper file several times a second (like Aura does). That means that AAClr is idle most of the time and only wakes up when necessary.
And about resource usage: AAClr uses less than 2MB of private bytes - I think that's not too much.
The link to the download can be found on the project page.
There's now a book available about TortoiseSVN. Of course, there are books about Subversion which mention TortoiseSVN. But this is (I think) the first book about TortoiseSVN.
Full disclosure: I was asked to review the book, which I did. And I'm mentioned as a reviewer in the book! So I had to write something about it here since I was never mentioned in a book before :).
read my full post about this book.