public void OpenRepositoryAt(Path path) { DisposeWatcher(); var repositoryRoot = FindTopLevelDirectory(path); Git = new GitApplication(repositoryRoot ?? path); RepositoryDirectory = BaseDirectory.Combine(".git"); IsGitRepository = !ReferenceEquals(repositoryRoot, null); if (!IsGitRepository) Log.Info("Directory {0} is not in a Git working tree", path); else { Log.Debug("Found Git repository at {0}", repositoryRoot); CreateFileWatcher(); } // Notify everyone that the repository has changed OnRepositoryChanged(null); }
public void DisplayUnstagedChangesAsync(Path file) { var command = new Diff { ViewInTool = true, FilePath = file.GetRelativeTo(BaseDirectory).ActualPath }; Git.ExecuteAsync(command); }