我在上面的标题中有配置。我正在使用TFS门控签入功能,如果我使用TFS工具检查我的更改,它可以正常工作。
回顾我对其运作方式的理解:
我的更改被门控签入拦截并放入搁置集。 shelveset由构建服务器下拉,构建,运行单元测试,并通过在注释中添加 NO CI 来检入。完成所有操作后,会出现协调工作空间的提示。
使用TortoiseSvn:
只要我没有设置门控签到,我就可以提交代码并更新代码。
通过设置gated check-ins,TFS服务器发回500错误(请参阅下面的例外),并且tortoiseSvn客户端显示下面标记的错误,尽管签入过程仍在继续。构建服务器构建,运行测试,并提交代码没有问题,但这非常令人讨厌,很难说服其他开发人员使用,因为你在提交时得到错误,然后必须对代码执行更新以获得构建服务器实际提交的更改。
感谢您的任何想法或帮助。
TortoiseSvn错误
错误:提交失败(详情如下):
错误:服务器发送意外返回值(500内部服务器错误)以响应
错误: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)
答案 0 :(得分:1)
SvnBridge不支持gated checkin - 正如您所注意到的,您将回归到此行为。
如果你只使用SvnBridge for Tortoise,你可能想要将TFS集成到Windows资源管理器中,而不是通过网桥提供对TFS的本机访问。它可以在Team Foundation Server Power Tools中找到。