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); }
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(); }
private SvnChangesetCollection GetOrderedRevisions() { SvnChangesetCollection revisions; revisions = new SvnChangesetCollection(); foreach (SvnChangeset revision in _svnRevisions) { if (revision.IsSelected) { revisions.Add(revision); } } revisions.Sort(); return(revisions); }
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; }