internal static CommitUserData ReadCommitUserData(IndexReader reader)
{
int lastActivityId = 0;
var gap = new List<int>();
var cud = reader.GetCommitUserData();
if (cud != null)
{
if (cud.ContainsKey(IndexManager.LastActivityIdKey))
{
var lastID = cud[IndexManager.LastActivityIdKey];
if (!string.IsNullOrEmpty(lastID))
int.TryParse(lastID, out lastActivityId);
}
if (cud.ContainsKey(IndexManager.MissingActivitiesKey))
{
var gapstring = cud[IndexManager.MissingActivitiesKey];
int g;
if (!string.IsNullOrEmpty(gapstring))
foreach (var s in gapstring.Split(','))
if (Int32.TryParse(s, out g))
gap.Add(g);
}
}
return new CommitUserData { LastActivityId = lastActivityId, Gap = gap };
}