public When_a_commit_is_already_projected() { Given(() => { ICommit projectedCommit = new CommitBuilder().WithCheckpoint("123").Build(); ICommit unprojectedCommit = new CommitBuilder().WithCheckpoint("124").Build(); var eventStore = A.Fake <IPersistStreams>(); A.CallTo(() => eventStore.GetFrom(A <string> .Ignored)).Returns(new[] { projectedCommit, unprojectedCommit }); A.CallTo(() => eventStore.GetFrom("123")).Returns(new[] { unprojectedCommit }); var adapter = new NEventStoreAdapter(eventStore, 11, 1.Seconds(), 100, () => DateTime.UtcNow); WithSubject(_ => adapter.Subscribe); }); When(() => { Subject(123, new Subscriber { HandleTransactions = (transactions, info) => { transactionHandledSource.SetResult(transactions.First()); return(Task.FromResult(0)); } }, "someId"); }); }
public IEnumerator TestSimple() { ICommit a = new CommitBuilder().SetMessage("Commit A").Build(); ICommit b = new CommitBuilder().SetParent(a).SetMessage("Commit B").Build(); yield return(null); Assert.AreEqual("Commit A", b.GetParent().GetMessage()); }
public IEnumerator TestBranchConstruction() { ICommit A = new CommitBuilder().SetMessage("Test commit object construction").Build(); IBranch testBranch = new Branch("feature/branches", A); yield return(null); Assert.AreSame(A, testBranch.GetTip()); Assert.AreEqual("feature/branches", testBranch.GetName()); }
/// <summary> /// Creates a new commit from the current state of the staging area. /// Appends the commit to the current branch and clears the staging area. /// Clears the preview of the staging area. /// /// Additional parameter for forcing commits through the player's enabled version control mechanics /// such as for oneShot doors. /// </summary> public ICommit Commit(string message, bool forced) { if (!EnabledVersionControls.Instance().CanCommit&& !forced) { Debug.Log("Can't Commit; not enabled yet"); return(null); } if (isDetached) { throw new InvalidOperationException("Cannot commit in detached HEAD state"); } CommitBuilder builder = new CommitBuilder(); builder.SetMessage(message); builder.SetParent(activeCommit); foreach (VersionController controller in trackedObjects) { IVersion controllerVersion; if (stagingArea.Contains(controller)) { // increment commit count controllerVersion = controller.GenerateVersion(); } else { controllerVersion = controller.GetVersion(); } builder.AddObject(controller, controllerVersion); } ICommit commit = builder.Build(); activeCommit = commit; foreach (VersionController stagedController in stagingArea) { stagedController.HideStagedState(); } if (activeBranch != null) { activeBranch.UpdateTip(activeCommit); } stagingArea.Clear(); if (commitTrigger != null) { commitTrigger.Trigger(); } UIController.Instance().UpdateOverlay(); return(commit); }
static void Main(string[] args) { do { Console.WriteLine("*** GitHub Manager ***"); string user = GetUserFromConsole(); string repository = GetRepositoryFromConsole(); var api = new CommitApi(); string result = api.GetResponse(user, repository); try { JArray resultArray = JArray.Parse(result); foreach (JObject commit in resultArray) { IBuilder builder = new CommitBuilder(commit); Director director = new Director(builder); var commitJson = builder.Build(); string commitConsoleLine = GetOneCommitLine(repository, commitJson); Commit commitToDatabase = new Commit { User = user, Repository = repository, Sha = commitJson["sha"], Message = commitJson["message"], Committer = commitJson["committerName"] }; try { CommitModel model = new CommitModel(); model.SaveToDatabase(commitToDatabase); } catch (Exception) { Console.WriteLine("Error 002: Database write error."); } Console.WriteLine(commitConsoleLine); } } catch (Exception) { Console.WriteLine("Error 001: Bad request. Try Again."); } }while (true); }
protected override void Awake() { base.Awake(); //Construct Initial Commit CommitBuilder cb = new CommitBuilder(); cb.SetMessage("Initial Commit"); ICommit initialCommit = cb.Build(); activeCommit = initialCommit; activeBranch.UpdateTip(initialCommit); }
public void FilesWithSameCommitId_MergedIntoSingleCommit() { var f1 = new FileInfo("file1.txt"); var f2 = new FileInfo("file2.txt"); var revisions = new[] { f1.CreateRevision("1.1", "commit1"), f2.CreateRevision("1.1", "commit1"), }; var builder = new CommitBuilder(m_log, revisions); var commits = builder.GetCommits().ToList(); Assert.IsTrue(commits.Single().Select(f => f.File.Name).SequenceEqual("file1.txt", "file2.txt")); }
public void FileAddedOnTrunk_BranchAddedOnUnchanged() { var file = new FileInfo("file.txt"); var revisions = new[] { file.CreateRevision("1.1", "main", isDead: true).WithMessage("created"), }; var builder = new CommitBuilder(m_log, revisions); var commits = builder.GetCommits().ToList(); var fileRevision = commits.Single().Single(); Assert.AreEqual(fileRevision.File.BranchAddedOn, "MAIN"); }
CommitBuilder(TestRepository testRepository, CommitBuilder prior) { _testRepository = testRepository; branch = prior.branch; DirCacheBuilder b = tree.builder(); for (int i = 0; i < prior.tree.getEntryCount(); i++) { b.add(prior.tree.getEntry(i)); } b.finish(); parents.Add(prior.create()); }
public void FilesWithoutCommitId_DifferentMessage_NotMergedTogether() { var now = DateTime.Now; var f1 = new FileInfo("file1.txt"); var f2 = new FileInfo("file2.txt"); var revisions = new[] { f1.CreateRevision("1.1", "", now).WithMessage("message #1"), f2.CreateRevision("1.1", "", now).WithMessage("message #2"), }; var builder = new CommitBuilder(m_log, revisions); var commits = builder.GetCommits().ToList(); Assert.AreEqual(commits.Count, 2); }
public void FileAddedOnBranch() { var file = new FileInfo("file.txt"); var revisions = new[] { file.CreateRevision("1.1.2.1", "branch").WithMessage("created"), file.CreateRevision("1.1", "main", isDead: true).WithMessage("file file.txt was initially added on branch branch."), }; var builder = new CommitBuilder(m_log, revisions); var commits = builder.GetCommits().ToList(); var fileRevision = commits.Single().Single(); Assert.IsTrue(fileRevision.Revision.ToString() == "1.1.2.1"); Assert.AreEqual(fileRevision.File.BranchAddedOn, "branch"); }
public void FilesWithoutCommitId_SameMessage_MergedTogether() { var now = DateTime.Now; var f1 = new FileInfo("file1.txt"); var f2 = new FileInfo("file2.txt"); var revisions = new[] { f1.CreateRevision("1.1", "", now - TimeSpan.FromSeconds(1)).WithMessage("message"), f2.CreateRevision("1.1", "", now).WithMessage("message"), }; var builder = new CommitBuilder(m_log, revisions); var commits = builder.GetCommits().ToList(); var commit = commits.Single(); Assert.IsTrue(commit.Select(f => f.File.Name).SequenceEqual("file1.txt", "file2.txt")); Assert.AreEqual(commit.Message, "message"); }
public void FilesWithoutCommitId_SameMessage_TimeGap() { var now = DateTime.Now; var f1 = new FileInfo("file1.txt"); var f2 = new FileInfo("file2.txt"); var f3 = new FileInfo("file3.txt"); var revisions = new[] { f1.CreateRevision("1.1", "", now).WithMessage("message"), f2.CreateRevision("1.1", "", now).WithMessage("message"), f3.CreateRevision("1.1", "", now + TimeSpan.FromMinutes(5)).WithMessage("message"), }; var builder = new CommitBuilder(m_log, revisions); var commits = builder.GetCommits().ToList(); Assert.AreEqual(commits.Count, 2); Assert.IsTrue(commits[0].Select(f => f.File.Name).SequenceEqual("file1.txt", "file2.txt")); Assert.IsTrue(commits[1].Select(f => f.File.Name).Single() == "file3.txt"); }
/** * Forcefully update this branch to a particular commit. * * @param to * the commit to update to. * @return {@code to}. * @throws Exception */ public RevCommit update(CommitBuilder to) { return(update(to.create())); }
/** * Update a reference to point to an object. * * @param ref * the name of the reference to update to. If {@code ref} does * not start with {@code refs/} and is not the magic names * {@code HEAD} {@code FETCH_HEAD} or {@code MERGE_HEAD}, then * {@code refs/heads/} will be prefixed in front of the given * name, thereby assuming it is a branch. * @param to * the target object. * @return the target object. * @throws Exception */ public RevCommit update(String @ref, CommitBuilder to) { return(update(@ref, to.create())); }