return this.git( cmd );
-
}
+
+ public delegate void GitAsyncCallback (string str)
+ async public string pull_async(GitAsyncCallback cb) {
+
+
+
+ }
+
/**
* push:
* Send local changes to remote repo(s)
// parse output for some commands ?
return sp.output;
}
+
+
+ public string git_async(GitAsyncCallback cb, string[] args_in ) throws Error, SpawnError
+ {
+ // convert arguments.
+
+ string[] args = { "git" };
+ //args += "--git-dir";
+ //args += this.gitdir;
+ args += "--no-pager";
+
+
+ //if (this.gitdir != this.repopath) {
+ // args += "--work-tree";
+ // args += this.repopath;
+ //}
+ for (var i = 0; i < args_in.length;i++) {
+ args += args_in[i];
+ }
+
+ //this.lastCmd = args.join(" ");
+ //if(this.debug) {
+ stdout.printf( "CWD=%s\n", this.git_working_dir );
+ print( "cmd: %s\n", string.joinv (" ", args));
+ //}
+
+ string[] env = {};
+ string home = "HOME=" + Environment.get_home_dir() ;
+ env += home ;
+ // do not need to set gitpath..
+ //if (File.exists(this.repo + '/.git/config')) {
+ //env.push("GITPATH=" + this.repo );
+ //}
+
+
+ var cfg = new SpawnConfig(this.git_working_dir , args , env);
+ cfg.async = true;
+ cfg.onFinish((err) {
+ this.
+ });
+
+ // may throw error...
+ var sp = new Spawn(cfg);
+
+ stdout.printf( "GOT: %s\n" , sp.output);
+ // parse output for some commands ?
+ return sp.output;
+ }
}