Archive for 12:12 PM

subst and TortoiseSVN/TortoiseGIT status caches

12:12 PM

TortoiseSVN and TortoiseGit use the TSVNCache.exe to collect all update notifications and update the status overlay icons in one place. This provides real-time updates and improves latency when showing folders in the explorer.

On the downside, TSVNCache is easily confused by subst.exe since it’ll receive updates only for one of the locations. The TortoiseGIT documentation provides this work-around:

[...] exclude the original path from showing overlays, so that the overlays show up on the subst path instead.

We use subst to have a default “project drive” located at P:, therefore I disabled updates for all drive types and only set the “Included Paths” option to “P:\”.

Attaching Events to ListViewItems in WPF

01:13 PM

I was looking for a way to attach a MouseDoubleClickHandler to the implicitly generated ListViewItems in a databound control:


<listview ItemsSource="{Binding Instances}" />

For some strange reason all the mouse events seem to be directly routed instead of bubbling like other input events. Only some magic of the framework causes them to be raised for every hit control. This causes the sender to be totally worthless, since it is always the “current” object.

(more…)

What is puppet?

03:15 PM

Puppet is an application to automate the configuration of UNIX systems. The puppet master defines the intended system state (packages, files, services, etc) on a central server. On the managed installations an agent regularly fetches the manifest and applies it to the system. The agent sends information (like hostname or IP address) from the system to the server. This can be used to parametrise the configuration.

(more…)