Exemplo n.º 1
0
 private Path FindTopLevelDirectory(string directory)
 {
     try
     {
         var app = new GitApplication(directory);
         return app.Execute(new RevParse());
     }
     catch
     {
         return null;
     }
 }
Exemplo n.º 2
0
 public void CloseRepository()
 {
     DisposeWatcher();
     Git = new GitApplication(null);
     IsGitRepository = false;
     OnRepositoryChanged(null);
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public void CreateRepository()
 {
     Git = new GitApplication(Root.FullName);
     Git.Execute(new Init());
 }