package org.koshinuke.jgit.server; import java.io.IOException; import javax.ws.rs.ext.Provider; import org.eclipse.jgit.transport.ReceivePack; import org.eclipse.jgit.transport.RefAdvertiser; import org.koshinuke.util.GitUtil; /** * @author taichi */ @Provider public class ReceivePackWriter extends AbstractPackInfoWriter<ReceivePack> { public ReceivePackWriter() { super(GitHttpdService.RECEIVE_PACK); } @Override protected void advertise(ReceivePack pack, RefAdvertiser advertiser) throws IOException { try { try { pack.sendAdvertisedRefs(advertiser); } finally { pack.getRevWalk().release(); } } finally { GitUtil.close(pack.getRepository()); } } }