diff --git a/git-webui/release/share/git-webui/webui/js/git-webui.js b/git-webui/release/share/git-webui/webui/js/git-webui.js
index 25b8ef98..a781423d 100644
--- a/git-webui/release/share/git-webui/webui/js/git-webui.js
+++ b/git-webui/release/share/git-webui/webui/js/git-webui.js
@@ -37,6 +37,19 @@ webui.COLORS = ["#ffab1d", "#fd8c25", "#f36e4a", "#fc6148", "#d75ab6", "#b25ade"
"#e47b07", "#e36920", "#d34e2a", "#ec3b24", "#ba3d99", "#9d45c9", "#4f5aec", "#615dcf", "#3286cf", "#00abca", "#279227", "#3a980c", "#6c7f00", "#ab8b0a", "#b56427", "#757575",
"#ff911a", "#fc8120", "#e7623e", "#fa5236", "#ca4da9", "#a74fd3", "#5a68ff", "#6d69db", "#489bd9", "#00bcde", "#36a436", "#47a519", "#798d0a", "#c1a120", "#bf7730", "#8e8e8e"]
+webui.showSuccess = function(message) {
+ var messageBox = $("#message-box");
+ messageBox.empty();
+ $( '
' +
+ '
' +
+ message +
+ '
').appendTo(messageBox);
+}
webui.showError = function(message) {
$("#error-modal .alert").text(message);
@@ -122,10 +135,21 @@ webui.git = function(cmd, arg1, arg2, arg3, arg4) {
}
}
} else {
- if(errorCallback) {
- errorCallback(message);
- } else{
- webui.showError(message);
+ var displayMessage = ""
+ if(output.length > 0){
+ displayMessage += (output+"\n");
+ }
+ if(message.length > 0){
+ displayMessage += message;
+ }
+ if(displayMessage.length > 0){
+ if(errorCallback) {
+ errorCallback(displayMessage);
+ } else{
+ webui.showError(displayMessage);
+ }
+ } else {
+ webui.showError("The command "+cmd+"
failed because of an unknown reason. Returned response: \n\n"+data)
}
}
} else {
@@ -289,6 +313,7 @@ webui.SideBarView = function(mainView) {
var cardBody = $('' +
'
'+
''+
+ ''+
''+
'
'+
'
').appendTo(collapseDiv);
@@ -315,6 +340,7 @@ webui.SideBarView = function(mainView) {
var cardBody = $('' +
'
'+
''+
+ ''+
'
'+
'
').appendTo(collapseDiv);
}
@@ -1953,6 +1979,55 @@ $(function () {
});
+ $(document).on('click', '.btn-merge-branch', function(e){
+ e.preventDefault();
+ var refName = $(this).parent().parent().parent().siblings(
+ ".card-header").children("button").html();
+
+ function testMergeHandler (message) {
+ function suppressErrorMessage(error) {
+ }
+ webui.git("merge --abort", "", "", suppressErrorMessage);
+
+ if(message.includes("Automatic merge went well") || message.includes("Auto-merging ")){
+ webui.git("merge "+refName, function (output){
+ webui.showSuccess(output);
+ });
+ }
+ else {
+ webui.showError(message);
+ }
+ }
+ webui.git("merge --no-commit --no-ff "+refName, "", "", testMergeHandler, testMergeHandler);
+ });
+
+ $(document).on('click', '.btn-merge-remote-branch', function(e){
+ e.preventDefault();
+ var refName = $(this).parent().parent().parent().siblings(
+ ".card-header").children("button").html();
+
+ var remoteName = refName.split('/')[0];
+ var branchName = refName.split('/')[1];
+
+ webui.git("fetch "+remoteName+" "+branchName);
+
+ function testMergeHandler (message) {
+ function suppressErrorMessage(error) {
+ }
+ webui.git("merge --abort", "", "", suppressErrorMessage);
+
+ if(message.includes("Automatic merge went well") || message.includes("Auto-merging ")){
+ webui.git("merge "+refName, function (output){
+ webui.showSuccess(output);
+ });
+ }
+ else {
+ webui.showError(message);
+ }
+ }
+ webui.git("merge --no-commit --no-ff "+refName, "", "", testMergeHandler, testMergeHandler);
+ });
+
$(document).on('click', '.btn-checkout-remote-branch', function(e) {
e.preventDefault();
var refName = $(this).parent().parent().parent().siblings(
@@ -1961,7 +2036,7 @@ $(function () {
var remoteName = refName.split('/')[0];
var branchName = refName.split('/')[1];
- webui.git("fetch "+remoteName);
+ webui.git("fetch "+remoteName+" "+branchName);
webui.git("checkout -b " +branchName + " " + refName, function() {
updateSideBar();
});