I recently received a question from someone about the CheckInEvent.

We subscribe to the Notify event using the BisSubscribe tool. Basically we have many applications that share some projects, but as TFS has no mechanism for sharing we have written our own in house app.

We have hooked into Notify for the CheckInEvents and we check each file after checkin to see if it is one of our shared files. If it is then we bounce it around to various locations etc..

All has been working fine until recently we started getting problems on large check ins. After some investigation I have noticed that the string eventXml parameter does not contain all of the check in information. Bascially it seems to only hold a max of 25 checkins.

I wondered if you'd come across this problem, and if you had any advice??

What's happening here is that TFS limits the number of changes included in the XML for the event to prevent sending large (or even huge) amounts of data that may not be needed.  To get a list of all of the changes for a particular changeset, you must use the VersionControlServer.GetChangeset() method, specifying the changeset from the XML.