コード例 #1
0
ファイル: ReceiveCommand.cs プロジェクト: LunarLanding/ngit
		/// <summary>Set the result of this command.</summary>
		/// <remarks>Set the result of this command.</remarks>
		/// <param name="r">the new result code for this command.</param>
		public virtual void SetResult(RefUpdate.Result r)
		{
			switch (r)
			{
				case RefUpdate.Result.NOT_ATTEMPTED:
				{
					SetResult(ReceiveCommand.Result.NOT_ATTEMPTED);
					break;
				}

				case RefUpdate.Result.LOCK_FAILURE:
				case RefUpdate.Result.IO_FAILURE:
				{
					SetResult(ReceiveCommand.Result.LOCK_FAILURE);
					break;
				}

				case RefUpdate.Result.NO_CHANGE:
				case RefUpdate.Result.NEW:
				case RefUpdate.Result.FORCED:
				case RefUpdate.Result.FAST_FORWARD:
				{
					SetResult(ReceiveCommand.Result.OK);
					break;
				}

				case RefUpdate.Result.REJECTED:
				{
					SetResult(ReceiveCommand.Result.REJECTED_NONFASTFORWARD);
					break;
				}

				case RefUpdate.Result.REJECTED_CURRENT_BRANCH:
				{
					SetResult(ReceiveCommand.Result.REJECTED_CURRENT_BRANCH);
					break;
				}

				default:
				{
					SetResult(ReceiveCommand.Result.REJECTED_OTHER_REASON, r.ToString());
					break;
					break;
				}
			}
		}