docs: function _rebase(HeadLocation, action){
  			var progressService = serviceRegistry.getService("orion.page.message"); //$NON-NLS-0$
  			var progress = serviceRegistry.getService("orion.page.progress"); //$NON-NLS-0$
  			
  			var deferred = progress.progress(serviceRegistry.getService("orion.git.provider").doRebase(HeadLocation, "", action), messages["RebasingRepo"]); //$NON-NLS-1$ //$NON-NLS-0$ 
  			progressService.createProgressMonitor(
  				deferred,
  				action);
  			deferred.then(
  				function(jsonData){
  					var display = {};
  					if (jsonData.Result === "OK" || jsonData.Result === "FAST_FORWARD" || jsonData.Result === "UP_TO_DATE") { //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-0$
  						display.Severity = "Ok"; //$NON-NLS-0$
  						display.HTML = false;
  						display.Message = messages["RebaseOK"]; //$NON-NLS-0$
  						serviceRegistry.getService("orion.page.message").setProgressResult(display); //$NON-NLS-0$
  					} else if (jsonData.Result === "ABORTED") { //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-0$
  						display.Severity = "Ok"; //$NON-NLS-0$
  						display.HTML = false;
  						display.Message = messages["RebaseAborted"]; //$NON-NLS-0$
  						serviceRegistry.getService("orion.page.message").setProgressResult(display); //$NON-NLS-0$
  					} else if (jsonData.Result === "STOPPED") { //$NON-NLS-0$
  						display.Severity = "Warning"; //$NON-NLS-0$
  						display.HTML = false;
  						display.Message = jsonData.Result + messages['RepoConflict'];
  						serviceRegistry.getService("orion.page.message").setProgressResult(display); //$NON-NLS-0$
  					} else if (jsonData.Result === "FAILED_UNMERGED_PATHS") { //$NON-NLS-0$
  						display.Severity = "Error"; //$NON-NLS-0$
  						display.HTML = false;
  						display.Message = jsonData.Result + messages['RepoUnmergedPathResolveConflict'];
  						serviceRegistry.getService("orion.page.message").setProgressResult(display); //$NON-NLS-0$
  					}
  					dispatchModelEventOn({type: "modelChanged", action: "rebase", rebaseAction: action, result: jsonData.Result, failed: display.Severity !== "Ok"}); //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-0$
  					
  				}, displayErrorOnStatus
  			);
  		}