GitSharp.Core.Transport.UploadPack.SendAdvertisedRefs C# (CSharp) Method

SendAdvertisedRefs() private method

private SendAdvertisedRefs ( ) : void
return void
        private void SendAdvertisedRefs()
        {
            _refs = _db.getAllRefs();

            var adv = new RefAdvertiser(_pckOut, _walk, ADVERTISED);
            adv.advertiseCapability(OptionIncludeTag);
            adv.advertiseCapability(OptionMultiAck);
            adv.advertiseCapability(OptionOfsDelta);
            adv.advertiseCapability(OptionSideBand);
            adv.advertiseCapability(OptionSideBand64K);
            adv.advertiseCapability(OptionThinPack);
            adv.advertiseCapability(OptionNoProgress);
            adv.setDerefTags(true);
            _refs = _db.getAllRefs();
            adv.send(_refs.Values);
            _pckOut.End();
        }

Usage Example

Esempio n. 1
0
        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();
            }
        }