private static RepositoryHistory LoadRepositoryHistory() { int size = AppSettings.RecentRepositoriesHistorySize; object setting = AppSettings.GetString("history", null); if (setting == null) { return(new RepositoryHistory(size)); } RepositoryHistory repositoryHistory = DeserializeHistoryFromXml(setting.ToString()); if (repositoryHistory == null) { return(new RepositoryHistory(size)); } repositoryHistory.MaxCount = size; AssignRepositoryHistoryFromCategories(repositoryHistory, null); // migration from old version (move URL history to _remoteRepositoryHistory) if (AppSettings.GetString("history remote", null) == null) { _remoteRepositoryHistory = new RepositoryHistory(size); foreach (Repository repo in repositoryHistory.Repositories) { if (repo.IsRemote) { repo.Path = repo.Path.ToPosixPath(); _remoteRepositoryHistory.AddRepository(repo); } } foreach (Repository repo in _remoteRepositoryHistory.Repositories) { repositoryHistory.RemoveRepository(repo); } } return(repositoryHistory); }