sync
authorAlan Knowles <alan@roojs.com>
Tue, 6 Nov 2018 05:03:32 +0000 (13:03 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 6 Nov 2018 05:03:32 +0000 (13:03 +0800)
GitRepo.vala
NewBranch.bjs
NewBranch.vala

index 7ec4f41..0a50944 100644 (file)
@@ -344,7 +344,11 @@ public class GitRepo : Object
        if (!this.createBranchNamed(branchname)) {
                return false;
                }
-       FileUtils.set_contents(this.gitdir + "/.gitlive-active-ticket" , ticket.id);
+               if (ticket != null) {
+               FileUtils.set_contents(this.gitdir + "/.gitlive-active-ticket" , ticket.id);
+       } else {
+               FileUtils.remove(this.gitdir + "/.gitlive-active-ticket" );
+       }
        this.activeTicket = ticket;
        return true;
     }
@@ -404,8 +408,10 @@ public class GitRepo : Object
                                           
                                        string[] cmd = { "checkout", "-b" , branchname  };
                                        this.git(cmd);
-                                       
                        this.push();    
+                       cmd = { "branch", "--set-upstream-to=origin/"+branchname , branchname  };
+                                       this.git(cmd);
+                       
                                        } catch(Error ee) {
                                                GitMonitor.gitmonitor.pauseError(ee.message);
                                                return false;           
@@ -424,7 +430,7 @@ public class GitRepo : Object
        
         
         this.loadBranches(); // update branch list...
-        GitMonitor.gitmonitor.runQueue(); // commit any outstanding...
+        //GitMonitor.gitmonitor.runQueue(); // no point - we have hidden the queue..
         return true;
     }
     
index 958fd87..54fd0ef 100644 (file)
@@ -10,7 +10,7 @@
   {
    "listeners" : {
     "delete_event" : "(self, event) => {\n    this.el.hide();\n    return true; \n    //test  \n}\n ",
-    "response" : " (self, response_id) =>  { \n  \n\tGLib.debug(\"got %d\", (int) response_id);\n\tif (response_id == 0) {\n\t    _this.el.hide();\t\n\t    this.running = false; \n\t \treturn;\n\t}\n\t \n\t// have they selected a ticket..\n\t// make that the current active ticket?\n\t// we really need to store locally what ticket is being worked on..\n\t// in theory we could be working on multiple project and not merging..\n\t// -- each repo would have their active ticket (only one per repo)\n\t// -- so we could just store that in there\n\t// -- initial load can check the contents of the ticket files on first scan.\n\tvar ticket_id = _this.ticketsel.selectedTicketId();\n\t\n    if (this.repo != null) {\n    \tvar bn = _this.name.el.get_text();\n    \tif (ticket_id != \"\" ) {\n\t\t\tthis.repo.setActiveTicket( RooTicket.singleton().getById(ticket_id), bn);\n\t\t} else {\n\t\t\tthis.repo.createBranchNamed(bn);\n\t\t}\n    }\n\n\t\t    this.running = false; \n\n\t \n\t \n\t \n\n\t \n}",
+    "response" : " (self, response_id) =>  { \n  \n\tGLib.debug(\"got %d\", (int) response_id);\n\tif (response_id == 0) {\n\t    _this.el.hide();\t\n\t    this.running = false; \n\t \treturn;\n\t}\n\t \n\t// have they selected a ticket..\n\t// make that the current active ticket?\n\t// we really need to store locally what ticket is being worked on..\n\t// in theory we could be working on multiple project and not merging..\n\t// -- each repo would have their active ticket (only one per repo)\n\t// -- so we could just store that in there\n\t// -- initial load can check the contents of the ticket files on first scan.\n\tvar ticket_id = _this.ticketsel.selectedTicketId();\n\t\n    if (this.repo != null) {\n    \tvar bn = _this.name.el.get_text();\n    \tif (ticket_id != \"\" ) {\n\t\t\tthis.repo.setActiveTicket( RooTicket.singleton().getById(ticket_id), bn);\n\t\t} else {\n\t\t\tthis.repo.createBranchNamed(bn);\n\t\t}\n    }\n\n    this.running = false; \n\n\tthis.el.hide();\n\t \n\t \n\n\t \n}",
     "show" : "(self)  => {\n \n\n  //test\n}"
    },
    "default_width" : 500,
@@ -32,8 +32,8 @@
      "items" : [
       {
        "bool homogeneous" : false,
-       "xtype" : "Table",
        "* pack" : "pack_start,false,false,0",
+       "xtype" : "Table",
        "uint column_spacing" : 2,
        "n_columns" : 2,
        "$ xns" : "Gtk",
          "items" : [
           {
            "id" : "dbcellrenderer",
-           "* pack" : "pack_start,true",
            "xtype" : "CellRendererText",
+           "* pack" : "pack_start,true",
            "$ xns" : "Gtk"
           },
           {
            "id" : "dbmodel",
-           "* pack" : "set_model",
            "xtype" : "ListStore",
+           "* pack" : "set_model",
            "| void loadTickets" : "  () {\n\n    RooTicket.singleton().loadTickets();\n    \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n\n    \n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n        \n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n        \n        //if (data.get(i) == cur) {\n         //   _this.build_module.el.set_active_iter(iter);\n       // }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
            "$ columns" : "typeof(string),typeof(string)",
            "n_columns" : 2,
     },
     {
      "label" : "Do not create Branch",
-     "* pack" : "add_action_widget,0",
      "xtype" : "Button",
+     "* pack" : "add_action_widget,0",
      "Gtk.ReliefStyle relief" : "Gtk.ReliefStyle.NONE",
      "$ xns" : "Gtk"
     },
     {
      "label" : "Create Branch",
-     "* pack" : "add_action_widget,1",
      "xtype" : "Button",
+     "* pack" : "add_action_widget,1",
      "$ xns" : "Gtk"
     }
    ]
   }
  ]
-}
+}
\ No newline at end of file
index 1ec03ee..7617e45 100644 (file)
@@ -52,7 +52,6 @@ public class NewBranch : Object
         //listeners
         this.el.delete_event.connect( (self, event) => {
             this.el.hide();
-            this.running = false;
             return true; 
             //test  
         });
@@ -62,7 +61,6 @@ public class NewBranch : Object
                if (response_id == 0) {
                    _this.el.hide();    
                    this.running = false; 
-                       GitMonitor.gitmonitor.start();      
                        return;
                }
                 
@@ -75,19 +73,18 @@ public class NewBranch : Object
                // -- initial load can check the contents of the ticket files on first scan.
                var ticket_id = _this.ticketsel.selectedTicketId();
                
-               var success = true;
             if (this.repo != null) {
                var bn = _this.name.el.get_text();
                if (ticket_id != "" ) {
-                               success = this.repo.setActiveTicket( RooTicket.singleton().getById(ticket_id), bn);
+                               this.repo.setActiveTicket( RooTicket.singleton().getById(ticket_id), bn);
                        } else {
-                               success = this.repo.createBranchNamed(bn);
+                               this.repo.createBranchNamed(bn);
                        }
             }
         
-                           this.running = false; 
+            this.running = false; 
         
-                
+               this.el.hide();