Friday, August 21, 2009

Configuring AnkhSVN revisited

Turns out they got rid of the Tools/AnkhSVN menu option. It's now integrated all over the place. The configuration I was looking for is in Tools/Options/Source Control. Never mind that I spent several hours hunting down the configuration by reading source code. Arg!

Thursday, August 20, 2009

Configuring AnkhSVN 2.1.7141.181 when the configuration dialog does not appear in Visual Studio

For some reason my Visual Studio does not display a menu option to configure AnkhSVN 2.1.7141.181, so below are the registry settings to configure it to use TortoiseSVN. But first, a list of the settings.

Setting NameDescription
MergeExePathPath of the executable used for merging, including all arguments.
DiffExePathPath of the executable used for diffing two files, including all arguments.
PatchExePathPath of the executable used for applying a patch, including all arguments.
InteractiveMergeOnConflictIf true, launch an interactive merge on a conflict. Default value is false.
FlashWindowWhenOperationCompletesIf true, window flashes when operation completes. Default value is false.
AutoAddEnabledIf true, new project files are automatically marked for adding to Subversion. Default value is false.

Following is a .reg file containing registry settings to use TortoiseMerge for all diff, merge, and patch operations:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\AnkhSVN\AnkhSVN\VisualStudio\8.0\Configuration]
"DiffExePath"="$(HostProgramFiles)\\TortoiseSVN\\bin\\TortoiseMerge.exe /base:\"$(Base)\" /mine:\"$(Mine)\" /basename:\"$(BaseName)\" /minename:\"$(MineName)\""
"PatchExePath"="$(HostProgramFiles)\\TortoiseSVN\\bin\\TortoiseMerge.exe /diff:\"$(PatchFile)\" /patchpath:\"$(ApplyToDir)\""
"MergeExePath"="$(HostProgramFiles)\\TortoiseSVN\\bin\\TortoiseMerge.exe /base:\"$(Base)\" /theirs:\"$(Theirs)\" /mine:\"$(Mine)\" /merged:\"$(Merged)\" /basename:\"$(BaseName)\" /theirsname:\"$(TheirsName)\" /minename:\"$(MineName)\" /mergedname:\"$(MergedName)\""

[HKEY_CURRENT_USER\Software\AnkhSVN\AnkhSVN\VisualStudio\9.0\Configuration]
"DiffExePath"="$(HostProgramFiles)\\TortoiseSVN\\bin\\TortoiseMerge.exe /base:\"$(Base)\" /mine:\"$(Mine)\" /basename:\"$(BaseName)\" /minename:\"$(MineName)\""
"PatchExePath"="$(HostProgramFiles)\\TortoiseSVN\\bin\\TortoiseMerge.exe /diff:\"$(PatchFile)\" /patchpath:\"$(ApplyToDir)\""
"MergeExePath"="$(HostProgramFiles)\\TortoiseSVN\\bin\\TortoiseMerge.exe /base:\"$(Base)\" /theirs:\"$(Theirs)\" /mine:\"$(Mine)\" /merged:\"$(Merged)\" /basename:\"$(BaseName)\" /theirsname:\"$(TheirsName)\" /minename:\"$(MineName)\" /mergedname:\"$(MergedName)\""

Here is the file AnkhDiff.Tools.cs that contains all the settings. Look for the functions GetDiffToolTemplates(), GetMergeToolTemplates(), and GetPatchToolTemplates().

When putting these into the registry by hand, make sure to change all single quote with a double quote. (There must be code in AnkhSVN that already does this.)

5 ways to answer managers' unfair software test, QA questions

5 ways to answer managers' unfair software test, QA questions: "About 20 years ago Tom DeMarco defined the unfair software question with his article, Why does software cost so much?. DeMarco claims it is not a question at all, but an assertion or a negotiating tactic. These questions also come up in software testing. Here are a few of my favorites:
'Why didn't QA find that bug?'
'Why is QA always the bottleneck?'
'Why do we have so many bugs?'
'What can we do to improve throughput from QA?'
'Are we done testing yet?'

Taken at face value, these may appear to be fair questions. But let's look at the assertions that are hidden inside of them:

'QA should have found that bug.'
'QA is the bottleneck.'
'We have too many bugs.'
'Testing is taking too long.'
'Testing should be finished by now.'"

Sunday, August 16, 2009

Can't connect to F5 Firepass using OneCare

This was really irritating until a coworker mentioned that he couldn't connect with OneCare. All my previous Google searching was for naught.
"I found a solution that worked for me. In One Care, select Change Settings. This will open the Windows Live OneCare Firewall Advanced Settings. Select Ports and protocols tab. Then, select Add... this will open the POrt and Protocol Information page. Enter a Name in the Name text box. I entered "F5 VPN Port". Select TCP from the TCP or UDP drop down control. For port range, enter: 44444 to 44444. For the Connections, select: Outbound. For Scope, select Internet."

Wednesday, August 12, 2009

How to create a global error handler for your application

From Microsoft. Reminds me to include things like Request.Form and Request.QueryString in the log. Interestingly, they also include Exception.TargetSite and Exception.Source, which I hadn't considered before. Both might be useful.

Tuesday, August 04, 2009

10 best practices for successful project management | 10 Things | TechRepublic.com

10 best practices for successful project management 10 Things TechRepublic.com: "Given the high rate of project failures, you might think that companies would be happy to just have their project finish with some degree of success. That’s not the case. Despite the odds, organizations expect projects to be completed faster, cheaper, and better. The only way that these objectives can be met is through the use of effective project management processes and techniques. This list outlines the major phases of managing a project and discusses key steps for each one."