public void AdvertiseReceivePack(Stream output) { using (var repository = GetRepository()) { var pack = new ReceivePack(repository); pack.SendAdvertisedRefs(new RefAdvertiser.PacketLineOutRefAdvertiser(new PacketLineOut(output))); } }
public static void AdvertiseReceivePack(string path, Stream output) { var repositoryPath = RepositoryPath.Resolve(path); using (var repository = new Repository(repositoryPath.AbsoluteRootPath)) { var pack = new ReceivePack(repository); pack.SendAdvertisedRefs( new RefAdvertiser.PacketLineOutRefAdvertiser( new PacketLineOut(output))); } }
private ActionResult GetInfoRefs(String project, String service) { Response.StatusCode = 200; Response.ContentType = String.Format("application/x-{0}-advertisement", service); SetNoCache(); Response.Write(FormatMessage(String.Format("# service={0}\n", service))); Response.Write(FlushMessage()); var directory = GetDirectoryInfo(project); if (GitSharp.Repository.IsValid(directory.FullName, true)) { using (var repository = new GitSharp.Repository(directory.FullName)) { if (String.Equals("git-receive-pack", service, StringComparison.InvariantCultureIgnoreCase)) { using (var pack = new ReceivePack(repository)) { pack.SendAdvertisedRefs(new RefAdvertiser.PacketLineOutRefAdvertiser(new PacketLineOut(Response.OutputStream))); } } else if (String.Equals("git-upload-pack", service, StringComparison.InvariantCultureIgnoreCase)) { using (var pack = new UploadPack(repository)) { pack.SendAdvertisedRefs(new RefAdvertiser.PacketLineOutRefAdvertiser(new PacketLineOut(Response.OutputStream))); } } } return(new EmptyResult()); } else { return(new HttpNotFoundResult()); } }