X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=GitRepo.vala;h=91feb4c82fb703ccf740808f525dbdefd07affd0;hp=b444ce4a09622612ed18665ef889634217049c59;hb=2ac46b7e5e54b5382df0c55b865e47a9937e15f8;hpb=2d3bb6db4cf59fb23b8774360ee0f15ffb7dc975 diff --git a/GitRepo.vala b/GitRepo.vala index b444ce4a..91feb4c8 100644 --- a/GitRepo.vala +++ b/GitRepo.vala @@ -131,9 +131,7 @@ public class GitRepo : Object } return list_cache; - - } public static GitRepo get(string path) @@ -184,6 +182,20 @@ public class GitRepo : Object } + public bool is_managed() + { + // is it a roojs origin? + var r = this.git({ "remote" , "get-url" , "--push" , "origin"}); + var uri = new Soup.URI(r); + if (uri.get_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); + + } + + public bool is_autocommit () { return !FileUtils.test(this.gitdir + "/.gitlive-disable-autocommit" , FileTest.EXISTS); @@ -266,6 +278,7 @@ public class GitRepo : Object public void loadBranches() { + GitBranch.loadBranches(this); } @@ -846,14 +859,18 @@ public class GitRepo : Object public static void updateAll(string after) { - update_all_after = after; - var tr = GitRepo.singleton().cache; - + update_all_after = after; + var tr = GitRepo.singleton().cache; - update_all_total = tr.size; - foreach(var repo in tr.values) { - repo.update_async(updateAllCallback); - } + + update_all_total = tr.size; + foreach(var repo in tr.values) { + if (!repo.is_managed()) { + update_all_total--; + continue; + } + repo.update_async(updateAllCallback); + } } public static void updateAllCallback(GitRepo repo, int err, string res)