private string GetStatus(GitItem dirItem, IGitProjectInfo projectInfo, string file) { if (dirItem == null || !dirItem.Exists || !dirItem.IsVersioned) return "<not found>"; if (projectInfo == null) { if (Scc.IsSolutionManaged) return "Connected"; // Solution itself + Connected else return "Not Connected"; } if (dirItem.IsBelowPath(SolutionSettings.ProjectRootGitItem) && dirItem.WorkingCopy == SolutionSettings.ProjectRootGitItem.WorkingCopy) { // In master working copy if (Scc.IsSolutionManaged && Scc.IsProjectManaged(_project)) return "Connected"; else return "Valid"; // In master working copy } else if (Scc.IsSolutionManaged && Scc.IsProjectManaged(_project)) return "Connected"; // Required information in solution else return "Detached"; // Separate working copy }