X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=GitRepo.vala;h=e9a2cb1543ef9429204a5a7a76c2c1c635eafc1a;hb=f423f28a43934ff9af9d1446b49d3451e8ccdd00;hp=c0374544851b1633f18a2ed5196884d8132b05db;hpb=afaf25609edb53f9e4c143614e96ace158b88627;p=gitlive diff --git a/GitRepo.vala b/GitRepo.vala index c0374544..e9a2cb15 100644 --- a/GitRepo.vala +++ b/GitRepo.vala @@ -189,38 +189,43 @@ public class GitRepo : Object return this.currentBranch.name == "master" || this.currentBranch.name == "roojs"; } + public void init_config() + { + // managed = + if (this.get_config("managed") == "") { + this.set_config("managed", this.host == "git.roojs.com" ? "1" : "0"); + } + if (this.get_config("autocommit") == "") { + this.set_config("autocommit", this.host == "git.roojs.com" ? "1" : "0"); + } + if (this.get_config("autopush") == "") { + this.set_config("autopush", this.host == "git.roojs.com" ? "1" : "0"); + } + } + + + + public string get_config(string key) { + return this.git({ "config" , "gitlive." + key }); + } + public string set_config(string key, string value) { + return this.git({ "config" , "gitlive." + key, value }); + } public bool is_managed() { - // is it a roojs origin? - - if (this.host != "git.roojs.com") { // we can only push to this url. -- unless we have forced it to be managed. - return FileUtils.test(this.gitdir + "/.gitlive-managed" , FileTest.EXISTS); - } - // otherwise see if unmanaged is set to disable it.. - return !FileUtils.test(this.gitdir + "/.gitlive-unmanaged" , FileTest.EXISTS); - + return this.get_config("managed") == "1"; } public bool is_autocommit () { - return !FileUtils.test(this.gitdir + "/.gitlive-disable-autocommit" , FileTest.EXISTS); + return this.get_config("autocommit") == "1"; } + public void set_autocommit(bool val) { - - var cur = this.is_autocommit(); - GLib.debug("SET auto commit : %s <= %s", val ? "ON" : "OFF", cur ? "ON" : "OFF"); - if (cur == val) { - return; // no change.. - } - if (!val) { - FileUtils.set_contents(this.gitdir + "/.gitlive-disable-autocommit" , "x"); - } else { - // it exists... - FileUtils.remove(this.gitdir + "/.gitlive-disable-autocommit" ); - } + this.set_config("autocommit", val ? "1" : "0"); } @@ -240,54 +245,19 @@ public class GitRepo : Object public void set_auto_branch(bool val) { - - var cur = this.is_auto_branch(); - GLib.debug("SET auto branch : %s <= %s", val ? "ON" : "OFF", cur ? "ON" : "OFF"); - - if (cur == val) { - return; // no change.. - } - if (this.host != "git.roojs.com") { // we can only push to this url. -- unless we have forced it to be managed. - // remote is not our server.. - if (val) { - FileUtils.set_contents(this.gitdir + "/.gitlive-managed" , "x"); - } else { - FileUtils.remove(this.gitdir + "/.gitlive-managed" ); - } + if (this.name == "gitlog") { return; - - } - // otherwise see if unmanaged is set to disable it.. - return !FileUtils.test(this.gitdir + "/.gitlive-unmanaged" , FileTest.EXISTS); - - - if (val) { - FileUtils.set_contents(this.gitdir + "/.gitlive-enable-auto-branch" , "x"); - } else { - // it exists... - FileUtils.remove(this.gitdir + "/.gitlive-enable-auto-branch" ); } + this.set_config("managed", val ? "1" : "0"); } public bool is_autopush () { - return !FileUtils.test(this.gitdir + "/.gitlive-disable-autopush" , FileTest.EXISTS); + return this.get_config("autopush") == "1"; } public void set_autopush(bool val) { - - var cur = this.is_autopush(); - GLib.debug("SET auto push : %s <= %s", val ? "ON" : "OFF", cur ? "ON" : "OFF"); - if (cur == val) { - return; // no change.. - } - if (!val) { - FileUtils.set_contents(this.gitdir + "/.gitlive-disable-autopush" , ""); - } else { - // it exists... - FileUtils.remove(this.gitdir + "/.gitlive-disable-autopush" ); - } - + this.set_config("autopush", val ? "1" : "0"); }