Exemple #1
0
        /// <summary>
        /// Create new repository for project
        /// </summary>
        /// <param name="project">VBProject</param>
        public void CreateNewRepo(VBProject project)
        {
            try
            {
                EnableFileSystemWatcher = false;

                using (var gitCommand = new CommandInit(project))
                {
                    gitCommand.Execute();

                    if (gitCommand.Status == CommandStatus.Success)
                    {
                        RepositorySettings repo = new RepositorySettings();
                        repo.Name      = project.GetRepoName();
                        repo.LocalPath = gitCommand.Repository.Info.WorkingDirectory;

                        if (!_config.Repositories.Exists(r => (r.Name == repo.Name &&
                                                               r.LocalPath == repo.LocalPath &&
                                                               r.RemotePath == repo.RemotePath)))
                        {
                            _config.Repositories.Add(repo);
                            _configService.SaveConfiguration(_config);
                        }

                        AddVBProject(project);
                    }
                }
            }
            finally
            {
                EnableFileSystemWatcher = true;
            }
        }
Exemple #2
0
        /// <summary>
        /// Returns repository settings for project
        /// </summary>
        /// <param name="project">VBProject</param>
        /// <returns></returns>
        public RepositorySettings GetVBProjectRepository(VBProject project)
        {
            var projectRepoPath = GetVBProjectRepoPath(project);

            return(_config.Repositories.Find(r => (r.Name == project.GetRepoName() &&
                                                   NormalizePath(r.LocalPath) == NormalizePath(projectRepoPath) &&
                                                   Directory.Exists(r.LocalPath))));
        }
Exemple #3
0
        /// <summary>
        /// Returns folder contains repository path for project
        /// </summary>
        /// <param name="project">VBProject</param>
        /// <returns></returns>
        public static string GetVBProjectRepoPath(VBProject project)
        {
            var fileName = project.GetFileName();

            if (File.Exists(fileName))
            {
                var pathVBAGit = Path.Combine(Path.GetDirectoryName(fileName), VBAGitUI.VBAGitFolder);
                return(Path.Combine(pathVBAGit, project.GetRepoName()));
            }
            else
            {
                return(null);
            }
        }