Location of Mercurial Repository

I am new to Mercurial (with TortoiseHG). I want to set up a repository for the directory C:\ProgramData\GPSoftware\Directory Opus, but I want the repository to be on D: drive because C: drive is only an SSD. My problem is that Mercurial requires that the repository be in the same directory as the 'project'. I can only see two options:

  • Use a junction point to link this directory to my preferred directory on D: drive.
  • Somehow change the DOpus installation so that this directory is on D: drive.
    The second seems very clumsy, even if it were possible. Is the first option the best?

The files in that folder are unlikely to need synching. It is usually just things put there by the installer.

It's the versioning of the Script Addins that I am particularly interested in. Also the Buttons, User Commands and Scripts.

I see now that I would still need to use Windows Explorer to move the directory C:\ProgramData\GPSoftware\Directory Opus to D: drive, then link that new location it back to its original location on C: drive, so that the real versions of both them and the Mercurial files are on D: drive. If I did it the other way round, the real files would all be on C: drive anyway, and I would gain nothing.

Actually, I wanted to version-check several other projects — DOpus was only practice — and keep all the Mercurial files inside separate directories within one single larger directory on my big D: drive, but it looks like a failing in both Git and Mercurial that one can't do this. I notice that tbone made a remark that the Git UI looks as if it out of the stone age. Perhaps this is another example of that.

They aren't usually stored there, unless you have switched Opus into shared configuration mode.

They are usually stored in your user profile:

C:\Users<username>\AppData\Roaming\GPSoftware\Directory Opus

Type /dopusdata in Opus to find the correct folder for your system.

A backup tool which can do automated incremental backups might be a better fit than a version control system, although I suppose you could script the latter to be similar to the former.

Junctions should work in theory, and are probably safe to use to divert the config folder, but you are then making things non-standard which could always cause a problem down the line. Make sure the folder you use has the right file permissions, in particular, and remember to revert back to normal if you hit problems with things like the installer or uninstaller, or with the program in general.

Do you really need full historic version history for your Opus config? I find just having a "last known good" backup to restore or compare things to has almost always been enough.

Thanks very much, leo, for these remarks. I wouldn't consider changing the default location of the DOpus configuration files, because I couldn't bear the pain every time there was an update (I use the shared configuration in C:\ProgramData). So I ended up doing what I was told to do by Mercurial, and created the repository in C:\PrograData\GPSoftware. I have enough space on the SS drive, so there is no problem.

I am well aware that Mercurial is total overkill for tracking the odd changes to DOpus scripts and buttons and so forth. My intention, however, is just to get used to Mercurial in preparation for a much larger collaborative project that is coming up soon. That will be on D: drive where there is plenty of space.