Partial Fix #5782 - messing around with libgit2-glib
[gitlive] / Git2.vala
diff --git a/Git2.vala b/Git2.vala
new file mode 100644 (file)
index 0000000..cc14629
--- /dev/null
+++ b/Git2.vala
@@ -0,0 +1,61 @@
+
+
+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