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); } }
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); }