首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >还有其他像svnbridge这样的解决方案吗?

还有其他像svnbridge这样的解决方案吗?
EN

Stack Overflow用户
提问于 2014-02-17 16:22:20
回答 1查看 1.1K关注 0票数 0

我加入了一个新的团队,选择tfs 2012来管理源代码,因为它是从vss升级的。但我知道更多的团队成员喜欢颠覆。

很难在这几个嘴巴中使用tfs,我发现'SvnBridge‘可以帮助开发人员使用svn客户机来使用tfs。

我成功地在tfs应用服务器上配置了SvnBridge- Server (iis-header:tfssvn.mydomain.com,iis-port 80)。所以它可以做到以下几点:

  1. 浏览器中的文件和文件夹,使用http://tfssvn.mydomain.com/
  2. 浏览TortoiseSVN中的一些文件夹和文件,用户http://tfssvn.mydomain.com/,但有些文件夹不能列出,可能是无效的-字符,如"R&D“等。"R&D”的父文件夹不能列出,因此它下的所有文件夹和文件都不能被列表或读取。(但是在原始的Subversion存储库中,支持像"R&D“这样的目录。我已经测试过了。
  3. 不能退房。所有文件夹和文件都不能用TortoiseSVN或svn命令行签出。

我使用的SvnBridge(http://svnbridge.codeplex.com/)是2013年9月12日(半年前)发布的最新版本v6.2,以及2013年10月13日的最新版本。很多bug在“讨论”中,恐怕项目已经停止了。

我想知道像"SvnBridge“这样的其他解决方案可以支持svn客户机在tfs?上的使用吗?

来自SvnBridge Sever的错误日志:

代码语言:javascript
复制
Time     : 2014/2/18 0:09:59
Message  : The remote server returned an error (404) not found.
User     : my-domain-name
Request  : PROPFIND /!svn/bc/45787/CJG/01_Document HTTP/1.1
<?xml version="1.0" encoding="utf-16"?>
<propfind xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="DAV:">
  <prop>
    <resourcetype xmlns="DAV:" />
    <getcontentlength xmlns="DAV:" />
    <deadprop-count xmlns="http://subversion.tigris.org/xmlns/dav/" />
    <version-name xmlns="DAV:" />
    <creationdate xmlns="DAV:" />
    <creator-displayname xmlns="DAV:" />
  </prop>
</propfind>

Exception:
   System.Net.WebException: The remote server returned an error (404) not found.
   at System.Net.HttpWebRequest.GetResponse()
   at CodePlex.TfsLibrary.ObjectModel.WebTransferService.DownloadBytes(String url, ICredentials credentials)
   at SvnBridge.Infrastructure.FileRepository.GetFile(ItemMetaData item, Guid repositoryUuid)
   at SvnBridge.SourceControl.TFSSourceControlProvider.ReadFile(ItemMetaData item)
   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.ReadFile(ItemMetaData item)
   at SvnBridge.Nodes.FileNode.GetContentLength()
   at SvnBridge.Nodes.FileNode.GetProperty(RequestHandlerBase handler, XmlElement property)
   at SvnBridge.Nodes.BcFileNode.GetProperty(RequestHandlerBase handler, XmlElement property)
   at SvnBridge.Handlers.PropFindHandler.WriteProperties(INode node, List`1 properties, TextWriter output, Boolean isFolder)
   at SvnBridge.Handlers.PropFindHandler.WriteBcResponse(TFSSourceControlProvider sourceControlProvider, String requestPath, String depthHeader, PropData data, Stream outputStream)
   at SvnBridge.Handlers.PropFindHandler.HandleProp(TFSSourceControlProvider sourceControlProvider, String requestPath, String depthHeader, String labelHeader, PropData data, Stream outputStream)
   at SvnBridge.Handlers.PropFindHandler.Handle(IHttpContext context, TFSSourceControlProvider sourceControlProvider)
   at SvnBridge.Handlers.RequestHandlerBase.Handle(IHttpContext context, IPathParser pathParser, NetworkCredential credentials)
   at SvnBridge.Net.HttpContextDispatcher.Dispatch(IHttpContext connection)
   at SvnBridgeServer.SvnBridgeHttpHandler.ProcessRequest(HttpContext context)

Stack Trace:
   at System.Net.HttpWebRequest.GetResponse()
   at CodePlex.TfsLibrary.ObjectModel.WebTransferService.DownloadBytes(String url, ICredentials credentials)
   at SvnBridge.Infrastructure.FileRepository.GetFile(ItemMetaData item, Guid repositoryUuid)
   at SvnBridge.SourceControl.TFSSourceControlProvider.ReadFile(ItemMetaData item)
   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.ReadFile(ItemMetaData item)
   at SvnBridge.Nodes.FileNode.GetContentLength()
   at SvnBridge.Nodes.FileNode.GetProperty(RequestHandlerBase handler, XmlElement property)
   at SvnBridge.Nodes.BcFileNode.GetProperty(RequestHandlerBase handler, XmlElement property)
   at SvnBridge.Handlers.PropFindHandler.WriteProperties(INode node, List`1 properties, TextWriter output, Boolean isFolder)
   at SvnBridge.Handlers.PropFindHandler.WriteBcResponse(TFSSourceControlProvider sourceControlProvider, String requestPath, String depthHeader, PropData data, Stream outputStream)
   at SvnBridge.Handlers.PropFindHandler.HandleProp(TFSSourceControlProvider sourceControlProvider, String requestPath, String depthHeader, String labelHeader, PropData data, Stream outputStream)
   at SvnBridge.Handlers.PropFindHandler.Handle(IHttpContext context, TFSSourceControlProvider sourceControlProvider)
   at SvnBridge.Handlers.RequestHandlerBase.Handle(IHttpContext context, IPathParser pathParser, NetworkCredential credentials)
   at SvnBridge.Net.HttpContextDispatcher.Dispatch(IHttpContext connection)
   at SvnBridgeServer.SvnBridgeHttpHandler.ProcessRequest(HttpContext context)

Headers:

Transfer-Encoding: chunked
Content-Type: text/xml
Accept-Encoding: gzip
Authorization: Basic d2FuZG9uZVxyeWFuemh1OjEyMzQ1Ng==
Host: wddevsvr01
User-Agent: SVN/1.8.5 (x64-microsoft-windows) serf/1.3.2 TortoiseSVN-1.8.4.24972
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
DAV: http://subversion.tigris.org/xmlns/dav/svn/mergeinfo
DAV: http://subversion.tigris.org/xmlns/dav/svn/log-revprops
Depth: 1
EN

回答 1

Stack Overflow用户

发布于 2018-03-15 13:30:02

如果一个人坚持使用原始的(即非git) TFS存储库,但是非常想让单个开发人员通过git-svn或subversion访问这些TFS特定的内容,那么使用我的彻底修改的版本的SvnBridge可能会有所帮助:https://github.com/andim2/SvnBridge

(在公告: SvnBridge:新版本(强力改进)发布公告)

请注意,原始的SvnBridge代码(由以前的CodePlex站点发布)相当有问题的(不完整/错误)。我目前的版本并不是这样,但并不完全稳定。因此,如果您的用例与使用这样一个相对自定义的工具来访问TFS是兼容的(即中等/有限的需求,或者更高的需求,但在发生故障和需要调试时有足够的功能),那么我将鼓励您尝试一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21834162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档