private void SelectInitialRevision()
{
string filtredCurrentCheckout = _filtredCurrentCheckout;
string[] lastSelectedRows = LastSelectedRows ?? new string[0];
//filter out all unavailable commits from LastSelectedRows.
lastSelectedRows = lastSelectedRows.Where(revision => FindRevisionIndex(revision) >= 0).ToArray();
if (lastSelectedRows.Any())
{
Revisions.SelectedIds = lastSelectedRows;
LastSelectedRows = null;
}
else
{
if (!string.IsNullOrEmpty(_initialSelectedRevision))
{
int index = SearchRevision(_initialSelectedRevision);
if (index >= 0)
SetSelectedIndex(index);
}
else
{
SetSelectedRevision(filtredCurrentCheckout);
}
}
if (string.IsNullOrEmpty(filtredCurrentCheckout))
return;
if (!Revisions.IsRevisionRelative(filtredCurrentCheckout))
{
HighlightBranch(filtredCurrentCheckout);
}
}