/// <summary> /// Resolves the specified revision. /// </summary> /// <param name="origin"></param> /// <param name="revision">The revision.</param> /// <returns></returns> public AnkhRevisionType Resolve(SvnOrigin origin, SharpSvn.SvnRevision revision) { if (revision == null) { throw new ArgumentNullException("revision"); } foreach (IAnkhRevisionProvider p in _providers) { AnkhRevisionType r = p.Resolve(origin, revision); if (r != null) { return(r); } } switch (revision.RevisionType) { case SvnRevisionType.Number: ExplicitRevisionType ert = new ExplicitRevisionType(Context, origin); ert.CurrentValue = revision; return(ert); } return(null); }
private void typeCombo_SelectedValueChanged(object sender, EventArgs e) { AnkhRevisionType rev = typeCombo.SelectedItem as AnkhRevisionType; if (rev != null) { SetRevision(rev); } OnChanged(EventArgs.Empty); }
void SetRevision(AnkhRevisionType rev) { if (rev == null && _currentRevType == null) { return; } else if (rev != null && _currentRevType != null && rev.Equals(_currentRevType)) { return; } if (_revTypes == null) { _revTypes = new List <AnkhRevisionType>(); } if (_currentRevType != null && !_revTypes.Contains(_currentRevType)) { _revTypes.Add(_currentRevType); } if (rev != null && !_revTypes.Contains(rev)) { _revTypes.Add(rev); } _currentRevType = rev; EnsureList(); foreach (Control c in versionTypePanel.Controls) { c.Enabled = c.Visible = false; } if (rev.HasUI) { if (rev.CurrentControl == null) { rev.InstantiateUIIn(versionTypePanel, EventArgs.Empty); } rev.CurrentControl.Visible = rev.CurrentControl.Enabled = true; } typeCombo.SelectedItem = _currentRevType; }
public AnkhRevisionType Resolve(SvnOrigin origin, AnkhRevisionType revision) { if (revision == null) { throw new ArgumentNullException("revision"); } foreach (IAnkhRevisionProvider p in _providers) { AnkhRevisionType r = p.Resolve(origin, revision); if (r != null) { return(r); } } return(Resolve(origin, revision.CurrentValue)); }
public AnkhRevisionType Resolve(SvnOrigin origin, AnkhRevisionType revision) { return Resolve(origin, revision.CurrentValue); }
public AnkhRevisionType Resolve(SvnOrigin origin, AnkhRevisionType revision) { if (revision == null) throw new ArgumentNullException("revision"); foreach (IAnkhRevisionProvider p in _providers) { AnkhRevisionType r = p.Resolve(origin, revision); if (r != null) return r; } return Resolve(origin, revision.CurrentValue); }
private void EnsureList() { if (RevisionResolver == null || SvnOrigin == null) { return; } foreach (AnkhRevisionType ri in new ArrayList(typeCombo.Items)) { if (!ri.IsValidOn(SvnOrigin)) { if (ri == _currentRevType) { _newValue = ri.CurrentValue; _currentRevType = null; } typeCombo.Items.Remove(ri); } } if (_revTypes != null) { foreach (AnkhRevisionType rt in _revTypes) { if (rt.IsValidOn(SvnOrigin) && !typeCombo.Items.Contains(rt)) { typeCombo.Items.Add(rt); } } } else { _revTypes = new List <AnkhRevisionType>(); } foreach (AnkhRevisionType rt in RevisionResolver.GetRevisionTypes(SvnOrigin)) { if (_revTypes.Contains(rt)) { continue; } _revTypes.Add(rt); typeCombo.Items.Add(rt); } if (_currentRevType == null && _newValue != null && _newValue != SvnRevision.None) { AnkhRevisionType rt = RevisionResolver.Resolve(SvnOrigin, _newValue); if (rt != null && !rt.IsValidOn(SvnOrigin)) { _newValue = SvnOrigin.Target.Revision; if (_newValue == null || _newValue == SvnRevision.None) { _newValue = (SvnOrigin.Target is SvnUriTarget) ? SvnRevision.Head : SvnRevision.Base; } rt = RevisionResolver.Resolve(SvnOrigin, _newValue); } SetRevision(rt); } if (_currentRevType != typeCombo.SelectedItem) { typeCombo.SelectedItem = _currentRevType; } }
public AnkhRevisionType Resolve(SvnOrigin origin, AnkhRevisionType revision) { return(Resolve(origin, revision.CurrentValue)); }
void SetRevision(AnkhRevisionType rev) { if (rev == null && _currentRevType == null) return; else if (rev != null && _currentRevType != null && rev.Equals(_currentRevType)) return; if (_revTypes == null) _revTypes = new List<AnkhRevisionType>(); if (_currentRevType != null && !_revTypes.Contains(_currentRevType)) _revTypes.Add(_currentRevType); if (rev != null && !_revTypes.Contains(rev)) _revTypes.Add(rev); _currentRevType = rev; EnsureList(); foreach (Control c in versionTypePanel.Controls) { c.Enabled = c.Visible = false; } if (rev.HasUI) { if (rev.CurrentControl == null) rev.InstantiateUIIn(versionTypePanel, EventArgs.Empty); rev.CurrentControl.Visible = rev.CurrentControl.Enabled = true; } typeCombo.SelectedItem = _currentRevType; }
private void EnsureList() { if (RevisionResolver == null || SvnOrigin == null) return; foreach (AnkhRevisionType ri in new ArrayList(typeCombo.Items)) { if (!ri.IsValidOn(SvnOrigin)) { if (ri == _currentRevType) { _newValue = ri.CurrentValue; _currentRevType = null; } typeCombo.Items.Remove(ri); } } if (_revTypes != null) foreach (AnkhRevisionType rt in _revTypes) { if (rt.IsValidOn(SvnOrigin) && !typeCombo.Items.Contains(rt)) typeCombo.Items.Add(rt); } else _revTypes = new List<AnkhRevisionType>(); foreach (AnkhRevisionType rt in RevisionResolver.GetRevisionTypes(SvnOrigin)) { if (_revTypes.Contains(rt)) continue; _revTypes.Add(rt); typeCombo.Items.Add(rt); } if (_currentRevType == null && _newValue != null && _newValue != SvnRevision.None) { AnkhRevisionType rt = RevisionResolver.Resolve(SvnOrigin, _newValue); if (rt != null && !rt.IsValidOn(SvnOrigin)) { _newValue = SvnOrigin.Target.Revision; if (_newValue == null || _newValue == SvnRevision.None) _newValue = (SvnOrigin.Target is SvnUriTarget) ? SvnRevision.Head : SvnRevision.Base; rt = RevisionResolver.Resolve(SvnOrigin, _newValue); } SetRevision(rt); } if (_currentRevType != typeCombo.SelectedItem) typeCombo.SelectedItem = _currentRevType; }