var rev = r.name + '..' + w.name;
this.release = r.name;
+ this.working = w.name;
// this takes some time, lets. try and dialog it..
return;
}
+
var diff = Merger.repo.diff(files, model.release, model.rev);
print(JSON.stringify(ce,null,4));
//.... commit!!!
- imports.gitlive.monitor.pause();
-
- Merger.repo.checkout(model.release);
+ imports.GitMonitor.GitMonitor.pause();
- Merger.repo.applyPatch(diff);
- var author = Merger.repo.parseAuthor(ce.author);
- // add all the files..
- Merger.repo.add(files);
- Merger.repo.commit({
- name : author.name,
- email : author.email,
- author : ce.author,
- changed : ce.changed,
- message : ce.message
-
+ var msg = new Gtk.MessageDialog( {
+ buttons : Gtk.ButtonsType.NONE,
+ text: "Committing Changes"
});
- Merger.repo.checkout(model.working);
-
- imports.gitlive.monitor.resume();
-
-
+ msg.set_transient_for(Merger.el);
+ msg.set_modal(true);
+ msg.show_all();
+
+
+ try {
+
+ Merger.repo.checkout(model.release);
+
+ print("Call apply patch");
+
+ Merger.repo.applyPatch(diff);
+
+ var author = Merger.repo.parseAuthor(ce.author);
+
+ print("Add new files.");
+ // add all the files..
+ Merger.repo.add(files);
+
+ print("Commit changes.");
+ Merger.repo.commit({
+ name : author.name,
+ email : author.email,
+ author : ce.author,
+ changed : ce.changed,
+ reason : ce.message,
+ files : files
+
+ });
+
+
+ } catch (e) {
+ //message..
+ msg.hide();
+
+ var emsg = new Gtk.MessageDialog({
+ message_type: Gtk.MessageType.ERROR,
+ buttons : Gtk.ButtonsType.OK,
+ text: e.message
+ });
+ emsg.set_transient_for(Merger.el);
+ emsg.set_modal(true);
+ emsg.run();
+ emsg.destroy();
+ Merger.repo.stash(); // revert change.. - so we can go back...
+ }
+ msg.show_all();
+ msg.set_markup("Changing to previous branch");
+ Merger.repo.checkout(model.working);
+ // if gitlive was previously running warn the user that it is now paused..
+ /*
+ var cmsg = new Gtk.MessageDialog({
+ message_type: Gtk.MessageType.ERROR,
+ buttons : Gtk.ButtonsType.OK,
+ text: "Git Live is now paused "
+ });
+ cmsg.run();
+ cmsg.destroy();
+ */
+ var _t = this;
+ GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 5, function() {
+ imports.GitMonitor.GitMonitor.resume();
+ msg.hide();
+ msg.destroy();
+ _t.get('/historyTreeStore').loadTree();
+ _t.get('/changedFilesStore').el.clear();
+ _t.get('/patchview').showDiff(files);
+ return false; //only once.
+ });
+