private Commit CreateDeclarationOfExistence(Repository repo, DeclarationOfExistence doe) { var sig = new Signature(doe.Owner.Name, doe.Owner.Identifier, DateTimeOffset.UtcNow); var json = JsonConvert.SerializeObject(doe); return(repo.ObjectDatabase.CreateCommit(sig, sig, json, EmptyTree(repo), new List <Commit>(), prettifyMessage: true)); }
public void Init(DeclarationOfExistence doe) { if (!_directory.Exists) { _directory.Create(); } if (!_directory.GetFiles().Any() && !_directory.GetDirectories().Any()) { // Directory is empty Repository.Init(_directory.FullName, isBare: true); using (var repo = new Repository(_directory.FullName)) { InitCoreTags(repo); Commit doeCommit = CreateDeclarationOfExistence(repo, doe); repo.CreateBranch(CONTROL_BRANCH, doeCommit); repo.CreateBranch(CONTENT_BRANCH, doeCommit); } } else { throw new BastionException(string.Format("{0} has already been initialized", _directory.FullName)); } }
private Commit CreateDeclarationOfExistence(Repository repo, DeclarationOfExistence doe) { var sig = new Signature(doe.Owner.Name, doe.Owner.Identifier, DateTimeOffset.UtcNow); var json = JsonConvert.SerializeObject(doe); return repo.ObjectDatabase.CreateCommit(sig, sig, json, EmptyTree(repo), new List<Commit>(), prettifyMessage: true); }