List of usage examples for org.eclipse.jgit.transport ReceivePack sendAdvertisedRefs
public void sendAdvertisedRefs(RefAdvertiser adv) throws IOException, ServiceMayNotContinueException
From source file:playRepository.RepositoryService.java
License:Apache License
/** * @see <a href="https://www.kernel.org/pub/software/scm/git/docs/git-upload-pack.html">git-upload-pack</a> * @see <a href="https://www.kernel.org/pub/software/scm/git/docs/git-receive-pack.html">git-receive-pack</a> *//* www .j a v a2s . co m*/ public static byte[] gitAdvertise(Project project, String service, Response response) throws IOException { response.setContentType("application/x-" + service + "-advertisement"); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); PacketLineOut packetLineOut = new PacketLineOut(byteArrayOutputStream); packetLineOut.writeString("# service=" + service + "\n"); packetLineOut.end(); PacketLineOutRefAdvertiser packetLineOutRefAdvertiser = new PacketLineOutRefAdvertiser(packetLineOut); if (service.equals("git-upload-pack")) { Repository repository = GitRepository.buildGitRepository(project); UploadPack uploadPack = new UploadPack(repository); uploadPack.setBiDirectionalPipe(false); uploadPack.sendAdvertisedRefs(packetLineOutRefAdvertiser); } else if (service.equals("git-receive-pack")) { Repository repository = GitRepository.buildGitRepository(project, false); ReceivePack receivePack = new ReceivePack(repository); receivePack.sendAdvertisedRefs(packetLineOutRefAdvertiser); } byteArrayOutputStream.close(); return byteArrayOutputStream.toByteArray(); }