private void BuildChangeSetDetails(string history)
{
using (var reader = new StringReader(history))
{
// skip 2 lines
reader.ReadLine();
reader.ReadLine();
var regex = new Regex(@"(\d+)\s+.+\s([\w\\]+).+\D(\d{1,2}/\d{1,2}/\d{4}).+");
string line;
while ((line = reader.ReadLine()) != null)
{
var m = regex.Match(line);
int changesetId = int.Parse(m.Groups[1].Value);
ChangeSetDetails cs;
var keyExists = this.csd.TryGetValue(changesetId, out cs);
if (!keyExists)
{
string username = m.Groups[2].Value;
string timestamp = m.Groups[3].Value;
cs = new ChangeSetDetails(changesetId, timestamp, username);
this.csd[changesetId] = cs;
}
}
}
}