Reintegrate branch auto-creates commit summary message

Just a small SVN tip to close the year. Did you know, that if you have a feature branch and you reintegrate it into the trunk, TortoiseSVN makes a nice summary of the revision comments of the branch and puts it under your Recent comments button in the Commit dialog?

Here’s the procedure:

  • Go to the trunk, reintegrate the desired branch.
  • Open the project / solution in the trunk in your IDE, and rebuild and test if everything works as expected.
  • Commit the trunk, click Recent messages.
  • Even though you did not type anything, there’s a ready-to-use message, starting with “Merged revision(s) aaa-bbb …” etc. Double click it.
Ready to use commit message. I did not type that. (Yeah, well, I did, but only the first time when committing to the branch.)

Ready to use commit message. I did not type that. (Yeah, well, I did, but only the first time when committing to the branch.)

  • Click OK.

Happy holidays everyone!

Issuing SVN commands from UltraEdit

Now I am getting used to having VisualSVN around when I am editing from Visual Studio, or the Subversion integration Delphi has (although that is broken since I upgraded to svn 1.7), I sometimes miss it when editing other kinds of files from my favorite UltraEdit text editor. While googling around to see if there was some kind of plugin available (apart from upgrading to the full blown UEStudio, which I don’t need), I found this blog post from Rob. He describes how to use the Tools Configuration menu to issue svn commands. Nice! But it gets even better if you scroll down to the comments where Daniel explains another syntax that fires up the TortoiseSVN dialogs instead of the svn command line. I like that even better!

I’ve quickly configured my UltraEdit installation likewise. Thanks to both Rob and Daniel. For my own reference if I later forget how I did this, here’s a copy of Daniels description of his setup:

TortoiseProc.exe /command:commit /path:”%f”
TortoiseProc.exe /command:update /path:”%f”
TortoiseProc.exe /command:diff /path:”%f”
TortoiseProc.exe /command:log /path:”%f”

I’ve also produced nice 16×16 .bmp icons via a simple screen capture of the context menu icons Tortoise uses for these command, to use as the command icons in my UltraEdit toolbar.

Since each of these displays a dialog I’ve selectedd Program Type “Windows Program” (although I don’t think it matters), and unselected Save Active File for the SVN Show Log command (not a requirement to show the SVN log). None of these have the Capture Output option selected.

SVN Commit failed, access forbidden

Yesterday I had to commit a project to a fresh and new repository on a Subversion server (VisualSVN Server). So I checked out an (empty) working copy, inserted the files, and committed. The files were added, but immediately after that, TortoiseSVN complained: commit failed (details follow): access to ‘/svn/(RepoName)/!svn/act/(someguid)’ forbidden.’ Errr… what?

Commit failed, access forbidden -- but I do have write access?

So I verified with the server admin that I had read and write permission, which was the case. Googling for answers turned up a possible suspect: casing of the repository name. Turned out my casing was different than what the admin had created. RepoName should have been Reponame (example, of course). With the wrong casing in the svn url, I was able to do checkouts, updates, browse the repository and everything else… but not commit.

So if you ever encounter an error something like this, check your casing. Even on Windows filesystems.

BTW: check out the improvements in the updated TortoiseSVN 1.7, impressive.

Edit (26-01-2012): As Steve pointed out in the comments, the unexpected case sensitivity is not limited to the repository name. Also check the domain part of your user’s logins.