Example #1
0
        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);
        }