docs: function(data) {
  				var item = data.items;
  				var done = function() {
  					dispatchModelEventOn({type: "modelChanged", action: "sync", item: item}); //$NON-NLS-1$ //$NON-NLS-0$
  				};
  				if (item.Remote.Type === "RemoteTrackingBranch" && !item.Remote.Id) {
  					return pushCallbackTags(data).then(done);
  				}
  				return fetchCallback(data).then(function() {
  					return rebaseCallback(data).then(function() {
  						var progressService = serviceRegistry.getService("orion.page.progress"); //$NON-NLS-0$
  						var service = serviceRegistry.getService("orion.git.provider"); //$NON-NLS-0$
  						return progressService.progress(service.getLog(item.Remote.CommitLocation, item.LocalBranch.Name), messages['Getting outgoing commits']).then(function(resp) {
  							if (resp.Children.length > 0) {
  								return pushCallbackTags(data).then(done);
  							} else {
  								done();
  							}
  						});
  					}, function() {
  						dispatchModelEventOn({type: "modelChanged", action: "rebase", item: item, failed: true}); //$NON-NLS-1$ //$NON-NLS-0$
  					});
  				});
  			}