Esempio n. 1
0
        private SvnChangesetCollection BuildRevisionsList(Uri svnUri)
        {
            SvnChangesetCollection sets;

            sets = new SvnChangesetCollection();

            using (SvnClient svn = new SvnClient())
            {
                svn.Log(svnUri, (o, args) =>
                {
                    SvnChangeset changeset;

                    changeset = new SvnChangeset
                    {
                        Author = new User {
                            Name = args.Author
                        },
                        Revision   = args.Revision,
                        Time       = args.Time,
                        Log        = args.LogMessage,
                        IsSelected = true
                    };

                    changeset.ChangedPaths.AddRange(args.ChangedPaths.Select(p => p.Path).ToArray());

                    sets.Add(changeset);
                    args.Detach();

                    args.Cancel = changesetBackgroundWorker.CancellationPending;
                });
            }

            return(sets);
        }
Esempio n. 2
0
        private void ChangesetBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            revisionsListView.Items.Clear();

            if (e.Error == null)
            {
                _svnRevisions = (SvnChangesetCollection)e.Result;

                revisionsListView.BeginUpdate();

                for (int i = 0; i < _svnRevisions.Count; i++)
                {
                    SvnChangeset changeset;

                    changeset = _svnRevisions[i];

                    revisionsListView.Items.Add(
                        new ListViewItem
                    {
                        Checked  = true,
                        Tag      = i,
                        Text     = changeset.Revision.ToString(),
                        SubItems =
                        {
                            changeset.Author.ToString(),
                            changeset.Time.ToString(),
                            changeset.Log
                        }
                    });

                    this.AddBlankMapping(changeset.Author.Name);
                }

                revisionsListView.EndUpdate();

                _lastScannedUrl = svnBranchUrlComboBox.Text;
                this.UpdateMru();
            }
            else
            {
                _svnRevisions   = new SvnChangesetCollection();
                _lastScannedUrl = null;

                MessageBox.Show(string.Format("Failed to load revisions. {0}", e.Error.Message), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            this.UpdateSelectionCount();
            this.ResetProgressUi();
        }
Esempio n. 3
0
        private SvnChangesetCollection GetOrderedRevisions()
        {
            SvnChangesetCollection revisions;

            revisions = new SvnChangesetCollection();

            foreach (SvnChangeset revision in _svnRevisions)
            {
                if (revision.IsSelected)
                {
                    revisions.Add(revision);
                }
            }

            revisions.Sort();

            return(revisions);
        }
Esempio n. 4
0
        private void ChangesetBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            string url;
            SvnChangesetCollection changesets;

            url = (string)e.Argument;

            if (!string.IsNullOrEmpty(url))
            {
                changesets = this.BuildRevisionsList(new Uri(url));
            }
            else
            {
                changesets = new SvnChangesetCollection();
            }

            e.Result = changesets;
        }