示例#1
0
        async Task TestQueryByPath()
        {
            var db = getDataContext();

            ICommitRepository cmrepo = new CommitRepository(db);
            ITreeRepository   trrepo = new TreeRepository(db);

            var rf = await cmrepo.GetCommitByRef("HEAD");

            if (rf == null)
            {
                return;
            }

            try
            {
                var tree = await trrepo.GetTreeRecursivelyFromPath(rf.Item2.TreeID, ((AbsoluteTreePath)"/src/Persists/").Canonicalize());

                if (tree != null)
                {
                    RecursivePrint(tree.Item1, tree.Item2);
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e);
            }
        }
示例#2
0
        async Task <CommitID> TestCreateCommit(TreeID treeid, int num)
        {
            var db = getDataContext();

            ICommitRepository cmrepo = new CommitRepository(db);
            IRefRepository    rfrepo = new RefRepository(db);

            Tuple <Ref, Commit> parent = await cmrepo.GetCommitByRef("HEAD");

            Commit cm = new Commit.Builder(
                pParents:       parent == null ? new List <CommitID>(0) : new List <CommitID>(1)
            {
                parent.Item2.ID
            },
                pTreeID:        treeid,
                pCommitter:     "James Dunne <*****@*****.**>",
                pDateCommitted: DateTimeOffset.Parse("2011-08-29 00:00:00 -0500"),
                pMessage:       "Commit #" + num.ToString() + "."
                );

            Console.WriteLine("CommitID {0}", cm.ID);

            // Persist the commit:
            await cmrepo.PersistCommit(cm);

            // Once the commit is persisted, update HEAD ref:
            await rfrepo.PersistRef(new Ref.Builder("HEAD", cm.ID));

            return(cm.ID);
        }