From: Alan Knowles Date: Thu, 14 Mar 2019 09:09:59 +0000 (+0800) Subject: Git.vala X-Git-Url: http://git.roojs.org/?p=gitlive;a=commitdiff_plain;h=c32a8f287eb9af49281e8f46f49aefa13e10bb63 Git.vala --- diff --git a/Git.vala b/Git.vala index 106cabc0..f65eeabf 100644 --- a/Git.vala +++ b/Git.vala @@ -157,13 +157,31 @@ namespace GitLive { GLib.debug("%d: %s, %s", line.get_new_lineno(), line.get_origin().to_string(), line.get_text()); return 0; }); + // let's try a merge.. + var mo = new Ggit.MergeOptions(); + mo.set_file_favor(Ggit.MergeFileFavor.THEIRS); + var ix = this.repo.merge_trees(null, master_tree, head_tree, mo); + + if (ix.has_conflicts()) { + GLib.debug("merge has conflicts"); + return; + } + var treeoid = ix.write_tree(); + + + var head = a.repo.get_head(); + var parent = head.lookup() as Ggit.Commit; + Ggit.Commit[] parents = (parent == null) ? + new Ggit.Commit[] {} : + new Ggit.Commit[] { parent }; + + + var new_tree = a.repo.lookup(treeoid,typeof (Ggit.Tree)) as Ggit.Tree; + + var sig = new Ggit.Signature.now("Alan Knowles", "alan@roojs.com"); + a.repo.create_commit("HEAD", sig, sig, null, "test commit " + str, new_tree, parents); + -// noid = a.next() - // while (noid != null) { - - - // noid = a.next(); - // }