docs: function(data) {
  				var item = data.items;
  				
  				var gitService = serviceRegistry.getService("orion.git.provider"); //$NON-NLS-0$
  				var progress = serviceRegistry.getService("orion.page.progress"); //$NON-NLS-0$
  				
  				var cloneFunction = function(gitUrl, path, name) {
  					
  					item.GitUrl = gitUrl;
  					exports.getDefaultSshOptions(serviceRegistry, item).then(function func(options) {
  						var gitConfigPreference = new GitConfigPreference(serviceRegistry);
  						
  						serviceRegistry.getService("orion.page.message").setProgressMessage(messages.ProjectSetup); //$NON-NLS-0$
  						gitConfigPreference.getConfig().then(function(userInfo){
  							var msg = i18nUtil.formatMessage(messages["AddClone"], name);
  							var deferred = progress.progress(gitService.cloneGitRepository(name, gitUrl, path, explorer.defaultPath, options.gitSshUsername, options.gitSshPassword, options.knownHosts,
  									options.gitPrivateKey, options.gitPassphrase, userInfo, true), msg);
  							deferred.then(function(jsonData) {
  								exports.handleProgressServiceResponse(jsonData, options, serviceRegistry, function(jsonData) {
  									gitService.getGitClone(jsonData.Location).then(
  										function(repoJson){
  											var pDescContent = "";
  											for(var k in item.projectDescription){
  												pDescContent += k + "=" + item.projectDescription[k] + "\n"; //$NON-NLS-1$ //$NON-NLS-0$
  											}
  
  											fileClient.write(repoJson.Children[0].ContentLocation + '.git/.projectInfo', pDescContent).then( //$NON-NLS-0$
  												function(){
  													var editLocation = require.toUrl(editTemplate.expand({resource: repoJson.Children[0].ContentLocation}));
  													window.location = urlModifier(editLocation);
  												}
  											);
  										}
  									);
  								}, func, messages['Clone Git Repository']);
  							}, function(jsonData) {
  								exports.handleProgressServiceResponse(jsonData, options, serviceRegistry, function() {}, func, messages['Clone Git Repository']);
  							});
  						});
  					});
  				};
  				
  				if (item.url && item.projectDescription.name){
  					var msg = i18nUtil.formatMessage(messages["AddClone"], item.projectDescription.name);
  					serviceRegistry.getService("orion.page.message").setProgressMessage(msg); //$NON-NLS-0$
  					fileClient.loadWorkspace().then(function(projects){
  						for(var i=0; i<projects.Children.length; ++i){
  							var p = projects.Children[i];
  							if(p.Name === item.projectDescription.name){
  								if (p.Git){
  									gitService.getGitClone(p.Git.CloneLocation).then(
  										function(repoJson){
  											if (repoJson.Children[0].GitUrl === item.url){
  												var url = require.toUrl(editTemplate.expand({
  													resource: repoJson.Children[0].ContentLocation
  												}));
  												window.location = urlModifier(url);
  											} else {
  //												console.info("Folder project is used");
  											}
  										}
  									);
  								} else {
  //									console.info("Folder project is used");
  								}
  								return;
  							}
  						}	
  						
  						cloneFunction(item.url, null, item.projectDescription.name);	
  					});
  				}
  			}