How to upgrade your Subversion repository for Ivercy 0.9.30

With version 0.9.30 we had to introduce a change that has sever effects on Subversion users.

If you worked on a repository with a previous version of Ivercy, this change requires some upgrade work on your repository. This guide describes how to upgrade your Subversion repository for use with the new version of Ivercy.

Background information

In earlier version the file name extensions (.ACF, .ACQ, …) that Ivercy generated for the exported Access objects, where all lower case. Some other products for version control integration into Microsoft Access, namely Microsoft’s own Source Code Control Add-In and OASIS, are using upper case file extensions.

With most version control systems this is not an issue at all, as they do not distinguish between lower and upper case in file names. Subversion however does. So if you have got a file named “Form1.acf” Subversion will recognize this as a totally different file than “Form1.ACF”. Event that would not be an issue as long as you would only use Ivercy for version control integration.

The problem arises when you have got an existing repository, created with a tool that uses upper case file extensions. Ivercy is still able to get all the files. But as soon as you check in a file. Ivercy will create a new file that differs in case of the extension or the Check-In will fail (depending on configuration).

To ensure a smooth migration from or coexistence with other tools, we decided to change Ivercy to generate upper case file name extensions as well. – This triggers the problem described above between earlier versions of Ivercy and the new version 0.9.30.

How to upgrade your repository

The issue described above and our changes to resolve it, require you to rename all the files of your Access projects in their repository folders.

You need to change the file extension of all those files to upper case.

Doing this manually is tedious work, so we want to assist you with that, as best as we can.

We have written a PowerShell script that will get the latest version of the files from the repository to the working folder, renames all the files (making the extension upper case) and finally commit all pending changes in the working folder.

Prerequisites

This script requires the svn.exe command line tool to be installed and in the Path-Environment variable on your computer. If svn.exe is not in the path, you will need to modify the script to include the full path for each invocation of svn.exe.

Please copy the text of the script in a new text file and save it with the name “svnUCaseExt.ps1”.

$FilePath = $args[0]

# getting the latest version
svn update "$FilePath"

# looping through the Access objecs in the folder
get-childitem -Path "$FilePath\*" -Include "*.ac*" -Exclude "*.chk" | ForEach-Object {

# renaming each Access object file in the working folder
      svn move ("""" + $_.FullName + """") ("""" + $_.DirectoryName + "\" + $_.BaseName + $_.Extension.ToUpper() + """")
}

# commiting the changes to the repository
svn commit "$FilePath" -m"renamed extensions to upper case"

You need to execute this script for each folder that contains the files of an Access project. You can do this by using this command line:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe C:\path\to\svnUCaseExt.ps1 C:\path\to\workingFolder

(The working folder is the …_IvercyTmp-Folder of your project)

If you are not using PowerShell on a regular basis you might get an error because the execution policy denies executing scripts. Then start PowerShell and execute this

Get-ExecutionPolicy -Scope CurrentUser

to query the current execution policy. Note what the current execution policy is. After that you can change the execution policy to allow all scripts, running this

Set-ExecutionPolicy Unrestricted -scope CurrentUser

to allow the execution of scripts. Don’t forget to reset execution policy after you are done with the upgrade. See Technet for details on the PowerShell execution policy.

Now you are ready to upgrade your repository folder.

Steps to upgrade

  1. Check in all files that are checked out for all the Access projects you are managing with Ivercy. – Use the old version of Ivercy to do this.

  2. Run the above script for each Access project’s working folder

  3. Run TortoiseSVN Repository Browser or a similar tool and check that the file extension of all the Access objects’ files are upper case now.

  4. Install the new version of Ivercy

  5. You now can continue working with the new version of Ivercy.

If you need assistance with this upgrade process, do not hesitate to contact our product support: support@ivercy.com.