Пример #1
0
 /// <summary>Generate an advertisement of available refs and capabilities.</summary>
 /// <remarks>Generate an advertisement of available refs and capabilities.</remarks>
 /// <param name="adv">the advertisement formatter.</param>
 /// <exception cref="System.IO.IOException">the formatter failed to write an advertisement.
 ///     </exception>
 /// <exception cref="UploadPackMayNotContinueException">the hook denied advertisement.
 ///     </exception>
 /// <exception cref="NGit.Transport.UploadPackMayNotContinueException"></exception>
 public virtual void SendAdvertisedRefs(RefAdvertiser adv)
 {
     try
     {
         preUploadHook.OnPreAdvertiseRefs(this);
     }
     catch (UploadPackMayNotContinueException fail)
     {
         if (fail.Message != null)
         {
             adv.WriteOne("ERR " + fail.Message);
             fail.SetOutput();
         }
         throw;
     }
     adv.Init(db);
     adv.AdvertiseCapability(OPTION_INCLUDE_TAG);
     adv.AdvertiseCapability(OPTION_MULTI_ACK_DETAILED);
     adv.AdvertiseCapability(OPTION_MULTI_ACK);
     adv.AdvertiseCapability(OPTION_OFS_DELTA);
     adv.AdvertiseCapability(OPTION_SIDE_BAND);
     adv.AdvertiseCapability(OPTION_SIDE_BAND_64K);
     adv.AdvertiseCapability(OPTION_THIN_PACK);
     adv.AdvertiseCapability(OPTION_NO_PROGRESS);
     if (!biDirectionalPipe)
     {
         adv.AdvertiseCapability(OPTION_NO_DONE);
     }
     adv.SetDerefTags(true);
     advertised = adv.Send(GetAdvertisedRefs());
     adv.End();
 }
Пример #2
0
 /// <summary>Generate an advertisement of available refs and capabilities.</summary>
 /// <remarks>Generate an advertisement of available refs and capabilities.</remarks>
 /// <param name="adv">the advertisement formatter.</param>
 /// <exception cref="System.IO.IOException">the formatter failed to write an advertisement.
 ///     </exception>
 public virtual void SendAdvertisedRefs(RefAdvertiser adv)
 {
     adv.Init(db);
     adv.AdvertiseCapability(OPTION_INCLUDE_TAG);
     adv.AdvertiseCapability(OPTION_MULTI_ACK_DETAILED);
     adv.AdvertiseCapability(OPTION_MULTI_ACK);
     adv.AdvertiseCapability(OPTION_OFS_DELTA);
     adv.AdvertiseCapability(OPTION_SIDE_BAND);
     adv.AdvertiseCapability(OPTION_SIDE_BAND_64K);
     adv.AdvertiseCapability(OPTION_THIN_PACK);
     adv.AdvertiseCapability(OPTION_NO_PROGRESS);
     adv.SetDerefTags(true);
     refs       = refFilter.Filter(db.GetAllRefs());
     advertised = adv.Send(refs);
     adv.End();
 }
Пример #3
0
		/// <summary>Generate an advertisement of available refs and capabilities.</summary>
		/// <remarks>Generate an advertisement of available refs and capabilities.</remarks>
		/// <param name="adv">the advertisement formatter.</param>
		/// <exception cref="System.IO.IOException">the formatter failed to write an advertisement.
		/// 	</exception>
		/// <exception cref="ServiceMayNotContinueException">the hook denied advertisement.</exception>
		/// <exception cref="NGit.Transport.ServiceMayNotContinueException"></exception>
		public virtual void SendAdvertisedRefs(RefAdvertiser adv)
		{
			try
			{
				advertiseRefsHook.AdvertiseRefs(this);
			}
			catch (ServiceMayNotContinueException fail)
			{
				if (fail.Message != null)
				{
					adv.WriteOne("ERR " + fail.Message);
					fail.SetOutput();
				}
				throw;
			}
			adv.Init(db);
			adv.AdvertiseCapability(OPTION_INCLUDE_TAG);
			adv.AdvertiseCapability(OPTION_MULTI_ACK_DETAILED);
			adv.AdvertiseCapability(OPTION_MULTI_ACK);
			adv.AdvertiseCapability(OPTION_OFS_DELTA);
			adv.AdvertiseCapability(OPTION_SIDE_BAND);
			adv.AdvertiseCapability(OPTION_SIDE_BAND_64K);
			adv.AdvertiseCapability(OPTION_THIN_PACK);
			adv.AdvertiseCapability(OPTION_NO_PROGRESS);
			adv.AdvertiseCapability(OPTION_SHALLOW);
			if (!biDirectionalPipe)
			{
				adv.AdvertiseCapability(OPTION_NO_DONE);
			}
			adv.SetDerefTags(true);
			advertised = adv.Send(GetAdvertisedOrDefaultRefs());
			adv.End();
		}
Пример #4
0
		/// <summary>Generate an advertisement of available refs and capabilities.</summary>
		/// <remarks>Generate an advertisement of available refs and capabilities.</remarks>
		/// <param name="adv">the advertisement formatter.</param>
		/// <exception cref="System.IO.IOException">the formatter failed to write an advertisement.
		/// 	</exception>
		public virtual void SendAdvertisedRefs(RefAdvertiser adv)
		{
			adv.Init(walk, ADVERTISED);
			adv.AdvertiseCapability(OPTION_INCLUDE_TAG);
			adv.AdvertiseCapability(OPTION_MULTI_ACK_DETAILED);
			adv.AdvertiseCapability(OPTION_MULTI_ACK);
			adv.AdvertiseCapability(OPTION_OFS_DELTA);
			adv.AdvertiseCapability(OPTION_SIDE_BAND);
			adv.AdvertiseCapability(OPTION_SIDE_BAND_64K);
			adv.AdvertiseCapability(OPTION_THIN_PACK);
			adv.AdvertiseCapability(OPTION_NO_PROGRESS);
			adv.SetDerefTags(true);
			refs = refFilter.Filter(db.GetAllRefs());
			adv.Send(refs);
			adv.End();
		}
Пример #5
0
		/// <summary>Generate an advertisement of available refs and capabilities.</summary>
		/// <remarks>Generate an advertisement of available refs and capabilities.</remarks>
		/// <param name="adv">the advertisement formatter.</param>
		/// <exception cref="System.IO.IOException">the formatter failed to write an advertisement.
		/// 	</exception>
		/// <exception cref="UploadPackMayNotContinueException">the hook denied advertisement.
		/// 	</exception>
		/// <exception cref="NGit.Transport.UploadPackMayNotContinueException"></exception>
		public virtual void SendAdvertisedRefs(RefAdvertiser adv)
		{
			try
			{
				preUploadHook.OnPreAdvertiseRefs(this);
			}
			catch (UploadPackMayNotContinueException fail)
			{
				if (fail.Message != null)
				{
					adv.WriteOne("ERR " + fail.Message);
					fail.SetOutput();
				}
				throw;
			}
			adv.Init(db);
			adv.AdvertiseCapability(OPTION_INCLUDE_TAG);
			adv.AdvertiseCapability(OPTION_MULTI_ACK_DETAILED);
			adv.AdvertiseCapability(OPTION_MULTI_ACK);
			adv.AdvertiseCapability(OPTION_OFS_DELTA);
			adv.AdvertiseCapability(OPTION_SIDE_BAND);
			adv.AdvertiseCapability(OPTION_SIDE_BAND_64K);
			adv.AdvertiseCapability(OPTION_THIN_PACK);
			adv.AdvertiseCapability(OPTION_NO_PROGRESS);
			adv.SetDerefTags(true);
			advertised = adv.Send(GetAdvertisedRefs());
			adv.End();
		}