コード例 #1
0
        public void CreateCommitTest()
        {
            this.treeOperation.Setup(t => t.WriteTree()).Returns("tree-oid");
            this.dataProvider.Setup(d => d.GetRef("HEAD", true)).Returns(RefValue.Create(false, "master-first-oid"));
            this.dataProvider.Setup(d => d.GetObject("master-first-oid", "commit")).Returns(string.Join("\n", new[]
            {
                "tree master-tree-oid",
                "",
                "this is message."
            }).Encode());
            this.treeOperation.Setup(d => d.GetTree("master-tree-oid", "")).Returns(new Tree()
            {
                { "hello.txt", "hello.oid" }
            });
            this.treeOperation.Setup(d => d.GetIndexTree()).Returns(new Tree()
            {
                { "hello.txt", "hello.oid" },
                { "ugit.txt", "ugit.oid" }
            });
            this.dataProvider.Setup(d => d.GetRef("MERGE_HEAD", true)).Returns(RefValue.Create(false, "merge-head-oid"));
            this.dataProvider.Setup(d => d.DeleteRef("MERGE_HEAD", false));
            string commit = "tree tree-oid\nparent master-first-oid\nparent merge-head-oid\n\nhello foo\n";

            this.dataProvider.Setup(d => d.WriteObject(It.Is <byte[]>(i => i.Length == commit.Encode().Length), "commit")).Returns("commit-oid");
            dataProvider.Setup(d => d.UpdateRef("HEAD", It.Is <RefValue>(i => !i.Symbolic && i.Value == "commit-oid"), true));
            string actual = commitOperation.CreateCommit("hello foo");

            Assert.AreEqual("commit-oid", actual);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: gaufung/ugit
 private static void Commit(string message)
 {
     try
     {
         Console.WriteLine(CommitOperation.CreateCommit(message));
     }
     catch (UgitException e)
     {
         Console.WriteLine(e.Message);
     }
 }