code: function _copyLocations(target, source, remove, append) {
  		["Location", "ImportLocation", "ExportLocation"].forEach(function(key) {
  			if (source[key] && !target[key]) {
  				target[key] = _copyLocation(source[key], remove, append);
  			}
  		});
  		if (source.Git && !target.Git) {
  			target.Git = {};
  			target.Git.CloneLocation = source.Git.CloneLocation;
  			target.Git.DefaultRemoteBranchLocation = source.Git.DefaultRemoteBranchLocation;
  			Object.keys(source.Git).forEach(function(key) {
  				if (!target.Git[key]) {
  					target.Git[key] = _copyLocation(source.Git[key], remove, append);
  				}
  			});
  		}
  		if (source.JazzHub && !target.JazzHub) {
  			target.JazzHub = source.JazzHub;
  		}
  	}
docs: Note: this is very dependent on the server side code