/// <summary> /// Initializes a new instance of the <see cref="ChangeSourceControlRow"/> class. /// </summary> /// <param name="context">The context.</param> /// <param name="project">The project.</param> public ChangeSourceControlRow(IAnkhServiceProvider context, SvnProject project) { if (context == null) throw new ArgumentNullException("context"); else if (project == null) throw new ArgumentNullException("project"); _context = context; _project = project; }
public void SetUp() { sp = new AnkhServiceProvider(); object pvar; var shell = new Mock<SVsShell>().As<IVsShell>(); shell.Setup(x => x.GetProperty(It.IsAny<int>(), out pvar)).Returns(-1); sp.AddService(typeof(SVsShell), shell.Object); var state = new Mock<IAnkhCommandStates>(); state.SetupGet(x => x.SccProviderActive).Returns(true); state.SetupGet(x => x.SolutionExists).Returns(true); sp.AddService(typeof(IAnkhCommandStates), state.Object); var selection = new Mock<ISelectionContext>(); selection.Setup(x => x.Cache[It.IsAny<object>()]).Returns(null); var rawHandle = new Mock<IVsSccProject2>(); var p = new SvnProject("c:\foo\bar", rawHandle.Object); selection.Setup(x => x.GetSelectedProjects(It.IsAny<bool>())).Returns(new[] { p }); sp.AddService(typeof(ISelectionContext), selection.Object); var pcMgr = new Mock<IPendingChangesManager>(); sp.AddService(typeof(IPendingChangesManager), pcMgr.Object); var textMgr = new Mock<SVsTextManager>().As<IVsTextManager>(); sp.AddService(typeof(SVsTextManager), textMgr.Object); var selectionMonitor = new Mock<IVsMonitorSelection>(); sp.AddService(typeof(IVsMonitorSelection), selectionMonitor.Object); var r = new AnkhRuntime(sp); r.AddModule(new AnkhModule(r)); r.AddModule(new AnkhSccModule(r)); //r.AddModule(new AnkhVSModule(r)); r.AddModule(new AnkhUIModule(r)); r.AddModule(new AnkhDiffModule(r)); r.Start(); cm = r.GetService<CommandMapper>(); }
private void GetProjectRevision() { using (SqlConnection connection = new SqlConnection(_connetionString)) { SqlCommand command = new SqlCommand(); command.Connection = connection; command.CommandType = System.Data.CommandType.Text; command.CommandText = @"select p.ID,p.Url,p.Name,u.DomainAccount,u.Password,c.Revision from SVN_Project as p LEFT JOIN ( select b.ProjectID, max(Revision) as Revision from SVN_Log as b GROUP BY b.ProjectID) as c on p.id=c.ProjectID LEFT JOIN SVN_User as u on p.UserID=u.id where p.IsUse=1 and (url like 'http%' or url like 'svn%'); select ID,DomainAccount from SVN_User"; connection.Open(); SqlDataAdapter adapter = new SqlDataAdapter(command); DataSet ds = new DataSet(); adapter.Fill(ds); foreach (DataRow row in ds.Tables[0].AsEnumerable()) { SvnProject svnProject = new SvnProject(); svnProject.ID = row["ID"].ToString(); svnProject.Url = row["Url"].ToString(); svnProject.Name = row["Name"].ToString(); svnProject.DomainAccount = row["DomainAccount"].ToString(); svnProject.Password = row["Password"].ToString(); int revision = 0; int.TryParse(row["Revision"].ToString(), out revision); svnProject.Revision = revision; _svnProjectList.Add(svnProject); } foreach (DataRow row in ds.Tables[1].AsEnumerable()) { SvnUser svnUser = new SvnUser(); svnUser.ID = row["ID"].ToString(); svnUser.DomainAccount = row["DomainAccount"].ToString(); _svnUserList.Add(svnUser); } } }
private bool ListBoxProjectsFilter(object item) { SvnProject project = (item as ListBoxItem).Tag as SvnProject; return(project.Name.Contains(textBoxProjectsFilter.Text)); }
private void listBoxProjectList_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { listBoxComponents.ItemsSource = null; ListBoxItem seletedNode = listBoxProjectList.SelectedItem as ListBoxItem; if (seletedNode != null && seletedNode.Tag != null) { SvnProject seletedProject = seletedNode.Tag as SvnProject; List <SvnComponent> componentList = myIfsSvn.GetComponentListFromExternals(seletedProject); componentList.AddRange(myIfsSvn.GetDocumentComponentListFromExternals(seletedProject)); StackPanel treeItemStack; TextBlock lbl; Image treeItemImage; ListBoxItem nodeItem; List <ListBoxItem> nodeItemList = new List <ListBoxItem>(); foreach (SvnComponent component in componentList) { nodeItem = new ListBoxItem(); nodeItem.Name = component.Name.Replace("-", "_").Replace(".", "_"); treeItemStack = new StackPanel(); treeItemStack.Orientation = Orientation.Horizontal; lbl = new TextBlock(); lbl.Text = component.Name; lbl.Margin = new Thickness(3, 1, 3, 1); treeItemImage = new Image(); treeItemImage.Source = componentImage; treeItemImage.Margin = new Thickness(3, 1, 3, 1); treeItemStack.Children.Add(treeItemImage); treeItemStack.Children.Add(lbl); nodeItem.Content = treeItemStack; nodeItem.Tag = component; nodeItemList.Add(nodeItem); } if (nodeItemList.Count > 0) { listBoxComponents.ItemsSource = nodeItemList; } textBoxWorkSpace.Text = textBoxProjectRoot.Text + @"\" + seletedProject.Name + @"\" + Properties.Resources.CheckOutPath_WorkSpace; Properties.Settings.Default.SelectedProject = seletedProject.Name; this.ClearComponentSelection(); } } catch (Exception ex) { ModernDialog.ShowMessage(ex.Message, "Error Loading Components", MessageBoxButton.OK); logger.Error(ex, "Error Loading Components"); } }
/// <summary> /// [Implementation detail of Clone()] /// </summary> public ChangeSourceControlRow() { ChangeSourceControlRow from = _cloning.Pop(); _context = from._context; _project = from._project; }
public void SetProjectManaged(SvnProject project, bool managed) { if (!IsActive) return; // Perhaps allow clearing management settings? if (project == null) SetProjectManagedRaw(null, managed); else SetProjectManagedRaw(project.RawHandle, managed); }
public bool IsProjectManaged(SvnProject project) { if (!IsActive) return false; if (project == null) return IsSolutionManaged; return IsProjectManagedRaw(project.RawHandle); }
public void EnsureCheckOutReference(SvnProject project) { // NOOP for today }
private void backgroundWorkerLoad_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (this.Dispatcher.CheckAccess() == false) { this.Dispatcher.Invoke(new backgroundWorkerLoad_RunWorkerCompletedDelegate(backgroundWorkerLoad_RunWorkerCompleted), new object[] { sender, e }); } else { try { if (e.Error != null) { ModernDialog.ShowMessage(e.Error.Message, "Error setting Log", MessageBoxButton.OK); } else if (e.Cancelled) { // textBoxLog.AppendText("Cancelled!\r\n"); } else { if (e.Result != null) { if (e.Result is bool) { if ((bool)e.Result) { ModernDialog.ShowMessage("OK", "Creating Branch", MessageBoxButton.OK); } else { ModernDialog.ShowMessage("Was not Created.", "Creating Branch", MessageBoxButton.OK); } } else { List <SvnListEventArgs> forlderList = e.Result as List <SvnListEventArgs>; List <SvnProject> projectList = new List <SvnProject>(); foreach (SvnListEventArgs folder in forlderList) { if (string.IsNullOrWhiteSpace(folder.Path) == false) { projectList.Add(new SvnProject(folder)); } } SvnProject selectedProject = projectList.FirstOrDefault(p => p.Name == Properties.Settings.Default.SelectedProjectForBranchCreate); comboBoxProjectList.ItemsSource = projectList; if (selectedProject != null) { comboBoxProjectList.SelectedItem = selectedProject; } } } } } catch (Exception ex) { ModernDialog.ShowMessage(ex.Message, "Error", MessageBoxButton.OK); } finally { progressBarMain.Visibility = System.Windows.Visibility.Collapsed; } } }
private IEnumerable<SvnItem> GetSingleProjectRoots(SvnProject project) { SccProjectData pd; if (project.RawHandle == null || !_projectMap.TryGetValue(project.RawHandle, out pd)) yield break; SvnItem projectRootItem = null; if (!string.IsNullOrEmpty(pd.ProjectDirectory)) { projectRootItem = StatusCache[pd.ProjectDirectory]; if (projectRootItem.IsVersioned) yield return projectRootItem; } string file = pd.ProjectFile; if (string.IsNullOrEmpty(file) || !SvnItem.IsValidPath(file)) yield break; SvnItem projectFileItem = StatusCache[file]; if (projectFileItem.IsVersioned && (projectRootItem == null || !projectFileItem.IsBelowPath(projectRootItem.FullPath))) { yield return projectFileItem; } }
public SvnProject ResolveRawProject(SvnProject project) { if (project == null) throw new ArgumentNullException("project"); if (project.RawHandle == null && !project.IsSolution) { SccProjectFile file; if (_fileMap.TryGetValue(project.FullPath, out file)) { foreach (SccProjectData p in file.GetOwnerProjects()) { return p.SvnProject; } } } return project; }
public IEnumerable<SvnItem> GetUpdateRoots(SvnProject project) { if (project != null) return GetSingleProjectRoots(project); return GetSolutionProjectRoots(); }
public ISvnProjectInfo GetProjectInfo(SvnProject project) { if (project == null) return null; project = ResolveRawProject(project); if (project == null || project.RawHandle == null) return null; SccProjectData pd; if (_projectMap.TryGetValue(project.RawHandle, out pd)) { return new WrapProjectInfo(pd); } return null; }