public void AddMostRecentRepository(string repo)
{
repo = repo.Trim();
if (string.IsNullOrEmpty(repo))
return;
repo = repo.Replace(Settings.PathSeperatorWrong, Settings.PathSeperator);
if (!repo.EndsWith(Settings.PathSeperator.ToString()) &&
!repo.StartsWith("http", StringComparison.CurrentCultureIgnoreCase) &&
!repo.StartsWith("git", StringComparison.CurrentCultureIgnoreCase) &&
!repo.StartsWith("ssh", StringComparison.CurrentCultureIgnoreCase))
repo += Settings.PathSeperator;
foreach (var recentRepository in Repositories)
{
if (!recentRepository.Path.Equals(repo, StringComparison.CurrentCultureIgnoreCase))
continue;
Repositories.Remove(recentRepository);
break;
}
var repository = new Repository(repo, null, null) {RepositoryType = RepositoryType.History};
Repositories.Insert(0, repository);
if (Repositories.Count > 30)
{
Repositories.RemoveAt(30);
}
}