コード例 #1
0
ファイル: Program.cs プロジェクト: gaufung/ugit
        static void Log(string oid)
        {
            oid = OidConverter(oid);

            IDictionary <string, IList <string> > refs = new Dictionary <string, IList <string> >();

            foreach (var(refname, @ref) in DataProvider.GetAllRefs())
            {
                if (refs.ContainsKey(@ref.Value))
                {
                    refs[@ref.Value].Add(refname);
                }
                else
                {
                    refs[@ref.Value] = new List <string>()
                    {
                        refname
                    };
                }
            }

            foreach (var objectId in CommitOperation.GetCommitHistory(new string[] { oid }))
            {
                var commit = CommitOperation.GetCommit(objectId);
                PrintCommit(objectId, commit, refs.ContainsKey(objectId) ? refs[objectId] : null);
            }
        }
コード例 #2
0
        public void CommitHistoryTest()
        {
            string commitMessage1 = string.Join("\n", new[]
            {
                "tree tree-oid",
                "parent parent-oid",
                "",
                "this is second commit",
            });

            string commitMessage2 = string.Join("\n", new[]
            {
                "tree tree-oid",
                "",
                "this is first commit",
            });

            this.dataProvider.Setup(d => d.GetObject("foo-oid", "commit")).Returns(commitMessage1.Encode());
            this.dataProvider.Setup(d => d.GetObject("parent-oid", "commit")).Returns(
                commitMessage2.Encode());
            var history = commitOperation.GetCommitHistory(new string[] { "foo-oid" });

            CollectionAssert.AreEqual(new string[] { "foo-oid", "parent-oid" }, history.ToArray());
            dataProvider.VerifyAll();
        }