Centralized Metadata Storage in TortoiseSVN v1.7
After installing update of TortoiseSVN to version 1.7 the other day, I got pretty freaked out when TortoiseSVN asked me to update my local working copy of project I was working on to new file format and “make it unusable for older clients”.
Since I love testing stuff, reinstalling os’s and making my life miserable by pressing YES, OK and Continue without reading or thinking about it – naturally, I performed the upgrade.
Nothing happened at first and I continued working on project as usual. After few hours I needed to copy some folders from my project to another folder in the same project, and since I am used to have trillions .svn subfolders in each folder of my project, after copying data, I immediately went for deleting those .svn subfolders so I can commit the changes. But – there were NO .svn subfolders!! Why? Read on.
Subversion 1.7 features a complete re-write of the working copy metadata management system of Subversion, code named WC-NG. A key feature of the changes introduced in Subversion 1.7 is the centralization of working copy metadata storage into a single location. Instead of a .svn directory in every directory in the working copy, Subversion 1.7 working copies have just one .svn directory—in the root of the working copy. This directory includes (among other things) an SQLite-backed database which contains all of the metadata Subversion needs for that working copy.
The process of upgrade itself is pretty easy and fast (well, depending on the size of your project that is):
Step 1 – go for project update:
Step 2 – Accept the file format upgrade:
Step 3 – Take a coffee break while upgrade is being performed:
Step 4 – Enjoy .svn-subfolder-less git style beauty.