Регистрация в TFS 2010 с использованием TortoiseSvn через SvnBridge - PullRequest
1 голос
/ 22 сентября 2011

У меня есть конфигурация в названии выше. Я использую встроенную функцию регистрации TFS, которая прекрасно работает, если я использую инструменты TFS для проверки своих изменений.

Обзор моего понимания того, как это работает:

мои изменения были перехвачены проверкой и внесены в полку. Полка сносится сервером сборки, собирается, запускаются модульные тесты и проверяется с добавлением NO CI в конце проверки в комментарии. Когда все это сделано, появляется запрос на согласование рабочего пространства.

Использование TortoiseSvn:

Я могу фиксировать код и обновлять код, если у меня нет встроенных проверок.

При настройке закрытых проверок сервер TFS отправляет обратно ошибку 500 (см. Исключение ниже), а клиент tortoiseSvn показывает ошибку, помеченную ниже, хотя процесс проверки продолжается. Сервер сборки без проблем собирает, запускает тесты и фиксирует код, но это довольно раздражает, и будет трудно убедить других разработчиков использовать его, потому что вы получаете ошибку при фиксации, а затем должны выполнить обновление кода, чтобы получить изменения, фактически зафиксированные сервером сборки.

Спасибо за любые идеи или помощь.

Ошибка TortoiseSvn

Ошибка: фиксация не удалась (подробности следуют):
Ошибка: сервер отправил неожиданное возвращаемое значение (500 Internal Server Error) в ответ на
Ошибка: запрос MERGE для '/ mil-tfsprd-01 / Inst% 20Trading% 20Support / Source / Main / ODS / Eliminator / Eliminator

Трассировка стека от SoapException

System.Web.Services.Protocols.SoapException: Your check-in has been placed into shelveset Gated_2011-09-22_10.26.49.8403;US\RPieper and submitted for validation by build definition \Inst Trading Support\Eliminator.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at CodePlex.TfsLibrary.RepositoryWebSvc.Repository.CheckIn(String workspaceName, String ownerName, String[] serverItems, Changeset info, CheckinNotificationInfo checkinNotificationInfo, CheckinOptions checkinOptions, Failure[]& failures)
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.<>c__DisplayClass4.<Commit>b__3()
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.WrapWebException[T](WrapWebExceptionDelegate`1 function)
   at CodePlex.TfsLibrary.ObjectModel.SourceControlService.Commit(String tfsUrl, ICredentials credentials, String workspaceName, String comment, IEnumerable`1 serverItems)
   at SvnBridge.SourceControl.TFSSourceControlProvider.<>c__DisplayClass18.<MergeActivity>b__17(Activity activity)
   at SvnBridge.SourceControl.ActivityRepository.Use(String activityId, Action`1 action)
   at SvnBridge.SourceControl.TFSSourceControlProvider.MergeActivity(String activityId)
   at SvnBridge.Proxies.RemotingInvocation.Proceed()
   at SvnBridge.Proxies.TracingInterceptor.Invoke(IInvocation invocation)
   at SvnBridge.Proxies.RemotingInvocation.Proceed()
   at SvnBridge.Proxies.RetryOnExceptionsInterceptor`1.Invoke(IInvocation invocation)
   at SvnBridge.Proxies.RemotingInvocation.Proceed()
   at SvnBridge.Proxies.ProxyFactory.RemotingProxy.Invoke(IMessage msg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at SvnBridge.SourceControl.TFSSourceControlProvider.MergeActivity(String activityId)
   at SvnBridge.Handlers.MergeHandler.Handle(IHttpContext context, TFSSourceControlProvider sourceControlProvider)
   at SvnBridge.Handlers.RequestHandlerBase.Handle(IHttpContext context, IPathParser pathParser, NetworkCredential credentials)
   at SvnBridge.Net.HttpContextDispatcher.Dispatch(IHttpContext connection)
   at SvnBridge.Net.Listener.Process(TcpClient tcpClient)
   at SvnBridge.Net.Listener.Accept(IAsyncResult asyncResult)

1 Ответ

1 голос
/ 23 сентября 2011

SvnBridge не поддерживает gated checkin - как вы заметили, вы вернетесь к этому поведению.

Если вы используете только SvnBridge для Tortoise, вы можете проверить интеграцию TFS вВместо этого проводник Windows, который обеспечивает собственный доступ к TFS, а не через мост.Он доступен в Team Foundation Server Power Tools .

...