public void ImplicitConversionToCoreRepo() { using (var repo = this.GetTrashRepository()) { Assert.IsTrue(repo is Repository); GitSharp.Core.Repository core_repo = repo; Assert.IsTrue(core_repo is GitSharp.Core.Repository); } }
private static GitDetail GetGitDetailCore(string path) { GitDetail detail = null; try { var repoPath = Repository.FindRepository(path); if (string.IsNullOrEmpty(repoPath)) { // Use local modified date when git repo is not found var time = File.GetLastWriteTimeUtc(path); detail = new GitDetail { CommitDetail = new CommitDetail { Author = new UserInfo { Date = time, } } }; return(detail); } var directory = Path.GetDirectoryName(repoPath); var wrapper = RepoCache.GetOrAdd(directory, s => new RepoWrapper(CoreRepository.Open(s))); var repo = wrapper.Repo; path = PathUtility.MakeRelativePath(directory, path); detail = new GitDetail(); var walker = wrapper.Walker; // TODO: Disable fetching commit detail for now until GlobalContext is added // var commitDetail = walker.GetCommitDetail(path); // detail.CommitDetail = commitDetail; // Convert to forward slash detail.LocalWorkingDirectory = repo.WorkingDirectory.FullName; if (repo.Head == null) { return(detail); } var branch = repo.getBranch(); detail.RemoteRepositoryUrl = repo.Config.getString("remote", "origin", "url"); detail.RemoteBranch = branch; detail.RelativePath = path; return(detail); } catch (Exception e) { Logger.LogWarning($"Have issue extracting repo detail for {path}: {e.Message}"); } return(detail); }
public void CreateRepository(string project) { var directory = Path.Combine(appSettings.RepositoriesDirectory.FullName, project + ".git"); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); using(var repository = new GitSharp.Core.Repository(new DirectoryInfo(directory))) { repository.Create(true); } } }
public void CreateRepository(string project) { var directory = Path.Combine(appSettings.RepositoriesDirectory.FullName, project + ".git"); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(directory))) { repository.Create(true); } } }
/// <summary> /// Execute the command. /// </summary> public override void Execute() { using (var repo = new GitSharp.Core.Repository(new DirectoryInfo(ActualDirectory))) { var reinit = repo.Create(Bare); if (!Quiet) { OutputStream.WriteLine(String.Format("{0} empty Git repository in {1}", reinit ? "Reinitialized" : "Initialized", repo.Directory.FullName)); OutputStream.Flush(); } Repository = new Repository(repo); } }
public GitRepository (VersionControlSystem vcs, FilePath localPath) : base (vcs) { string gitDir; if (Environment.GetEnvironmentVariable("GIT_DIT") != null) gitDir = Environment.GetEnvironmentVariable("GIT_DIR"); else gitDir = localPath; if (!gitDir.EndsWith(GitSharp.Core.Constants.DOT_GIT_EXT)) gitDir = Path.Combine(gitDir, GitSharp.Core.Constants.DOT_GIT); _coreRepository = new GitSharp.Core.Repository(new DirectoryInfo(gitDir)); }
public void CreateRepository(string rootrepository, string project) { var directory = Path.Combine(rootrepository, project + ".git"); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(directory))) { repository.Create(true); } } }
public void CreateRepository(string directory, string project) { var repositoryDirectory = Path.Combine(directory, project + ".git"); if (!Directory.Exists(repositoryDirectory)) { Directory.CreateDirectory(repositoryDirectory); using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(repositoryDirectory))) { repository.Create(true); } } }
public void CreateRepository(string cat, string subcat, string project) { var directory = CombinePhysicalDir(cat, subcat, project); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(directory))) { repository.Create(true); } } }
/// <summary> /// Execute the command. /// </summary> public override void Execute() { using (var repo = new GitSharp.Core.Repository(new DirectoryInfo(ActualDirectory))) { repo.Create(Bare); repo.Config.setBoolean("core", null, "bare", Bare); repo.Config.save(); if (!Quiet) { OutputStream.WriteLine("Initialized empty Git repository in " + repo.Directory.FullName); OutputStream.Flush(); } Repository = new Repository(repo.Directory.FullName); } }
public ActionResult Create(RepositoryDetailModel model) { if (!User.IsInRole(Definitions.Roles.Administrator) && !UserConfigurationManager.AllowUserRepositoryCreation) { return(RedirectToAction("Unauthorized", "Home")); } if (model != null && !String.IsNullOrEmpty(model.Name)) { model.Name = Regex.Replace(model.Name, @"\s", ""); } if (String.IsNullOrEmpty(model.Name)) { ModelState.AddModelError("Name", Resources.Repository_Create_NameFailure); } else if (ModelState.IsValid) { if (RepositoryRepository.Create(ConvertRepositoryDetailModel(model))) { string path = Path.Combine(UserConfigurationManager.Repositories, model.Name); if (!Directory.Exists(path)) { using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(path))) { repository.Create(true); } TempData["CreateSuccess"] = true; return(RedirectToAction("Index")); } else { RepositoryRepository.Delete(model.Name); ModelState.AddModelError("", Resources.Repository_Create_DirectoryExists); } } else { ModelState.AddModelError("", Resources.Repository_Create_Failure); } } PopulateEditData(); return(View(model)); }
public ActionResult Create(RepositoryDetailModel model) { if (!User.IsInRole(Definitions.Roles.Administrator) && !UserConfigurationManager.AllowUserRepositoryCreation) { return RedirectToAction("Unauthorized", "Home"); } if (model != null && !String.IsNullOrEmpty(model.Name)) { model.Name = Regex.Replace(model.Name, @"\s", ""); } if (String.IsNullOrEmpty(model.Name)) { ModelState.AddModelError("Name", Resources.Repository_Create_NameFailure); } else if (ModelState.IsValid) { if (RepositoryRepository.Create(ConvertRepositoryDetailModel(model))) { string path = Path.Combine(UserConfigurationManager.Repositories, model.Name); if (!Directory.Exists(path)) { using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(path))) { repository.Create(true); } TempData["CreateSuccess"] = true; return RedirectToAction("Index"); } else { RepositoryRepository.Delete(model.Name); ModelState.AddModelError("", Resources.Repository_Create_DirectoryExists); } } else { ModelState.AddModelError("", Resources.Repository_Create_Failure); } } PopulateEditData(); return View(model); }
/// <summary> /// Check validity of a ref name. It must not contain a character that has /// a special meaning in a Git object reference expression. Some other /// dangerous characters are also excluded. /// </summary> /// <param name="refName"></param> /// <returns> /// Returns true if <paramref name="refName"/> is a valid ref name. /// </returns> public static bool IsValidName(string refName) { return(CoreRepository.IsValidRefName(refName)); }
internal Repository(CoreRepository repo) { PreferredEncoding = Encoding.UTF8; _internal_repo = repo; }
public void CreateRepository(string cat, string subcat, string project) { var directory = CombinePhysicalDir(cat, subcat, project); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); using (var repository = new GitSharp.Core.Repository(new DirectoryInfo(directory))) { repository.Create(true); } } }
/// <summary> /// Execute the command. /// </summary> public override void Execute() { using (var repo = new GitSharp.Core.Repository(new DirectoryInfo(ActualDirectory))) { var reinit = repo.Create(Bare); if (!Quiet) { OutputStream.WriteLine(String.Format("{0} empty Git repository in {1}", reinit ? "Reinitialized" : "Initialized", repo.Directory.FullName)); OutputStream.Flush(); } Repository = new Repository(repo); } }
public RepoWrapper(CoreRepository repo) { Repo = repo; Walker = new RepositoryWalker(repo); }
public RepoWrapper(CoreRepository repo) { Repo = repo; Walker = new RepositoryWalker(repo); }
/// <summary> /// Execute the command. /// </summary> public override void Execute() { using (var repo = new GitSharp.Core.Repository(new DirectoryInfo(ActualDirectory))) { repo.Create(Bare); repo.Config.setBoolean("core", null, "bare", Bare); repo.Config.save(); if (!Quiet) { OutputStream.WriteLine("Initialized empty Git repository in " + repo.Directory.FullName); OutputStream.Flush(); } Repository = new Repository(repo.Directory.FullName); } }
internal Repository(CoreRepository repo) { _internal_repo = repo; }
/// <summary> /// Execute the command. /// </summary> public override void Execute() { if (GitDirectory == null) { DirectoryInfo path = null; GitDirectory = Git.Commands.FindGitDirectory(path, false, Bare); } if (GitRepository == null) GitRepository = new GitSharp.Core.Repository(Git.Commands.GitDirectory); GitRepository.Create(Bare); GitRepository.Config.setBoolean("core", null, "bare", Bare); GitRepository.Config.save(); if (!Quiet) { OutputStream.WriteLine("Initialized empty Git repository in " + GitRepository.Directory.FullName); OutputStream.Flush(); } InitializedRepository = new Repository(GitRepository.Directory.FullName); }
virtual protected void Dispose(bool disposing) { if (!_disposed) { if (disposing) { if (_coreRepository != null) _coreRepository.Dispose(); } _coreRepository = null; _disposed = true; } }
internal Repository(CoreRepository repo) { PreferredEncoding = Encoding.UTF8; _internal_repo = repo; }