+
+
+void main()
+{
+ GLib.Log.set_handler(null,
+ GLib.LogLevelFlags.LEVEL_DEBUG | GLib.LogLevelFlags.LEVEL_WARNING | GLib.LogLevelFlags.LEVEL_INFO,
+ (dom, lvl, msg) => {
+
+
+ // should we debug..
+
+
+ print("%s\n", msg);
+ }
+ );
+
+ Git.Threads.init();
+ var a = new GitLive.Repo("/home/alan/gitlive/web.Texon");
+ a.fetchAll();
+}
+namespace GitLive {
+
+ public class Repo : Object
+ {
+ Git.Repository repo;
+
+ public Repo (string path)
+ {
+ Git.Repository.open(out this.repo , path);
+ }
+
+ public void push()
+ {
+ string_array remotes;
+ this.repo.get_remote_list(out remotes);
+
+ foreach(var rem in remotes.strings) {
+ Git.Remote remote;
+ this.repo.get_remote(out remote, rem_name);
+
+
+ // get the remote.
+ git_remote* remote = NULL;
+ git_remote_lookup( &remote, repository, "origin" );
+
+ // connect to remote
+ git_remote_connect( remote, GIT_DIRECTION_PUSH )
+
+ // add a push refspec
+ git_remote_add_push( remote, "refs/heads/master:refs/heads/master" );
+
+ // configure options
+ git_push_options options;
+ git_push_init_options( &options, GIT_PUSH_OPTIONS_VERSION );
+
+ // do the push
+ git_remote_upload( remote, NULL, &options );
+
+ git_remote_free( remote );
+ return true;
+ }
\ No newline at end of file