@Override public void pullRemote(CallingContext context, String raptureURIString) { RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT); if (internalURI.hasDocPath()) { throw RaptureExceptionFactory.create( HttpURLConnection.HTTP_BAD_REQUEST, apiMessageCatalog.getMessage("NoDocPath", internalURI.toShortString())); // $NON-NLS-1$ } checkParameter(NAME, internalURI.getDocPath()); log.info( Messages.getString("Admin.PullPerspective") + Messages.getString("Admin.OnType") + internalURI.getDocPath() // $NON-NLS-1$ //$NON-NLS-2$ + Messages.getString("Admin.InAuthority") + internalURI.getAuthority()); // $NON-NLS-1$ // NOW this is the fun one // Here are the steps // (1) Look at the local, does it have a remote defined? If // so, what is the latest commit known about // for that remote? // (2) Make a remote call to retrieve the commits up to that commit from // the RemoteLink // (3) For each commit, look at all of the references, retrieve them // from the remote and persist them // into the repo. // (4) Update the local perspective to point at the latest commit, and // update the Remote commit to point at that. getKernel().getRepo(internalURI.getFullPath()); // $NON-NLS-1$ }
@Override public List<String> getTags(CallingContext context, String raptureURIString) { RaptureURI internalURI = new RaptureURI(raptureURIString, Scheme.DOCUMENT); checkParameter(NAME, internalURI.getDocPath()); Repository repository = getKernel().getRepo(internalURI.getFullPath()); // $NON-NLS-1$ return repository.getTags(); }