I’m happy to announce that AnkhSVN has been listed on Visual Studio Gallery.
Microsoft wants this web site to become the one-stop shop for all Visual Studio extensions, from free VS PowerToys like tools to VSIP products. Any developer is able to post information and add links to their Visual Studio extensions.
We hope this brings AnkhSVN under the attention of a new group of users, and also hope to attract new developers. New developers already joined the team, one works for CollabNet (the company behind Subversion).
The AnkhSVN project is now hosted at openCollabNet openCollabNet is "the online community extension to CollabNet products and Subversion" and the move represents an official commitment by CollabNet (the original sponsor of Subversion) to the AnkhSVN project in the form of developer time and other resources.
The subversion repository has been moved to http://ankhsvn.open.collab.net/svn/ankhsvn/trunk. Unlike before, anonymous access is no longer available, but you can checkout the repository using the username "guest" and a blank password. You can also browse the repository using the web interface.
Hopefully the co-operation with collabNet helps us meet new developers willing to help us out, building more community around Ankh.
Scott Hanselman described how to “spot-weld” new properties on existing types using the types.ps1xml file. When writing your own Cmdlets this might not be the best way to modify the objects you return. In this post I’m going into how to change existing types in code using ETS Properties based on a SharpSvn/Subversion cmdlet. A common use-case would be to fix a function that returns a string instead of a FileInfo or Uri instance (that can be passed along the pipeline).
The main trick is not to return the plain object, but a PSObject wrapping the plain object. The PSObject allows you to add and remove custom properties and methods from C# code.
Continue reading ‘PowerShell Cmdlets - adding/overriding members’
This is a walkthrough about using source server indexed PDBs using Visual Studio 2005 or 2008, as described in a MSDN Magazine article. The next post will talk about producing source server indexed PDB files.
Visual Studio 2008 can also be configured to use a Symbol Server that provides source server indexed PDBs for debugging through the .NET Framework source code. SourceServerSharp enables you to produce PDBs for your own assemblies with similar possibilities.
Continue reading ‘SourceServer indexing and Subversion’
This post describes how to create a new msi that can be installed as a major upgrade based on an existing one (that support major upgrades), whilst patching/updating some files. This is useful when it’s easier to patch an existing msi than it is to create a new one.
Cabarc to create new cabinet containing the patched files:
CabArc.exe n mypatch.cab c:\patch\*.dll
MsiFiler to correct version information:
MsiFiler.exe -d myinstaller.msi -v -s c:\patch\
MsiDb to insert new cabinet in msi (optional):
MsiDb.exe -d myinstaller.msi -a mypatch.cab
Open myinstaller.msi in Orca and:
- Insert a new Guid into PackageCode because we are changing the msi
To do this in Orca, go to ‘View -> Summary Information’ and click the ’New GUID’ button next to the Package Code. It’s also possible to configure Orca to always change the PackageCode when saving, under ‘Options -> Database’
- Insert a new Guid into ProductCode to allow major upgrade
- Change the ProductVersion to a higher version number, and change the Upgrade table accordingly.
- Change sequence in the File table for the patched file(s)
- Add reference to mypatch.cab in Media table:
- DiskId should be a new unique number
- Cabinet should be ’#mypatch.cab’ because the cabinet was inserted in the msi.
It’s also possible to keep the cabinet file external, in that case call it ‘mypatch.cab’
- LastSequence should correspond to the highest sequence number of the file in the File table
For example, if the highest number before patching is 72, and we added 3 files, LastSequence should be 75, and 3 entries in the File table should use Sequence 73, 74 and 75. LastSequence and Sequence is the only link between files and cabinets
Orca, MsiDb, MsiFiler and CabArc are all part of the Windows Platform SDK
To start using TFS with any Subversion client you will need SvnBridge
The zipfile contains an exe that is the zip, no installation required.
We will connect to the SvnBridge repository. This is the required information to setup SvnBridge:

At this point there is an http proxy running on the local machine, a test with the command-line client confirms this:

Now on to AnkhSVN. Here we chose Tools -> AnkhSVN -> Checkout

Now enter the target directory and the url (http://localhost:8081/<projectname>) in the checkout dialog

After opening this project AnkhSVN recognises the solution. Certain subversion functions (log for example) make the current version of SvnBridge crash however.
