}
return list_cache;
-
-
}
public static GitRepo get(string path)
this.loadStatus();
}
- public bool is_wip_branch()
+ public bool is_master_branch()
{
- return this.currentBranch.name.has_prefix("wip_");
+ // special branches that do not allow autopushing now...
+ return this.currentBranch.name == "master" || this.currentBranch.name == "roojs";
}
- public bool is_autocommit ()
+ 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);
}
public void set_autocommit(bool val)
public bool is_auto_branch ()
{
+ if (this.name == "gitlog") {
+ return false;
+ }
+ // check remote...
+
return FileUtils.test(this.gitdir + "/.gitlive-enable-auto-branch" , FileTest.EXISTS);
}
public void loadBranches()
{
+
GitBranch.loadBranches(this);
}
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)