对VisualSVN使用TortoiseSVN我删除了一个我不应该删除的源文件.现在这不是火车粉碎,因为我可以从日常备份中取回文件.但是我想从SVN(VisualSVN)取消删除它,以便我可以恢复历史记录.但是我无法弄清楚如何做到这一点.
有人知道如何使用VisualSVN接口或最新版本的TortoiseSVN从VisualSVN取消删除文件?
有没有人想出一种方法允许远程用户在VisualSVN服务器中更改自己的密码?我们让它以'独立'(非ActiveDirectory)模式运行,我发现这个优秀产品的唯一缺点是用户无法设置或更改其密码.
这是我可以忍受的东西,但密码永远不会改变的安全含义是众所周知的.我确信必须能够添加功能,但我在VisualSVN使用的任何技术中都没有一点天赋 - 所以只是想知道是否有人这样做过?
我决定自己实施这项计划.密码加密是我感谢一些帮助的第一个障碍.我发现VisualSVN有一个密码文件,htpasswd其中有一个用户列表,格式如下:
JoePublic:$ APR1 $ LPQ $ kF8nZjjuFxgJBExK8ruf20
JoePublic是用户名,我假设冒号是分隔符,其余的是某种密码哈希.在这种情况下使用的实际密码是ForgetMeNot.
这似乎不是MD5或SHA哈希,但我在这方面并不是非常明智,所以很可能.鉴于上述信息,任何人都可以推断出使用的算法吗?
我们目前有一个 SVN Server,使用 VisualSVN Server 作为我们的前端服务器,大多数客户端同时运行 VisualSVN Visual Studio 扩展和 TortoiseSVN。
我们拥有的当前存储库正在返回一段时间......它是由我的猜测创建的,大约在 2006(!),并且格式文件说它是版本 1......这似乎是一个 1.5 之前的存储库......
我们正在移动服务器,其中一台正在升级的服务器是 SVN 盒。上次我们进行升级时,我们只是svnadmin hotcopy在存储库文件夹上进行了升级,在新机器上安装了全新安装的 VisualSVN 服务器,复制了文件,将内容指向了正确的方向,好吧,它奏效了……
通过这次新升级,我想知道我们可以对存储库做些什么来赋予它新的生命?速度提高,占用的空间更少(整个存储库目前的重量约为 13Gb),而且性能更高。我知道我说过性能/速度两次,但考虑到我们升级的旧机器是具有大约 4Gb ram(3.6Gb 可用)的 32 位 P4,而新机器是具有 32Gb RAM 的四核至强,我们几乎相同速度就像我们最初所做的那样,从升级中展示一些速度方面的东西会很好......
有任何想法吗?
svn version-control visualsvn visualsvn-server visual-studio
我有大约十几个存储库,文件系统的大小为1 GB到10 GB,我需要为我们的XP 64设置所有这些存储库的自动备份(我们的旧备份脚本在计算机出现故障时丢失)钻头机器.
在阅读了关于备份SVN repos的最佳方法的这个问题后,我开始抛弃我们拥有的最大回购,大约是13 GB.这个命令现在已经执行了大约2.5个小时,并且它目前正在倾倒大约200个300的修订版.
svnadmin --deltas \\path\to\repo\folder > \\path\to\backup\folder\dump.svn
Run Code Online (Sandbox Code Playgroud)
转储文件超过100 GB并且正在计数.我知道我可以7-zip这个吸盘,但100 GB ?! ...... o_O
存储库包含大量二进制数据,这可能是问题的一部分,但截至目前,切换到更有效的版本控制系统(假设有一个)是不现实的; SVN是这里生活的一部分.
我考虑过使用hotcopy,它占用的空间要少得多,但我尝试使用旧的热备份备份,而subversion 1.7找不到它需要的一堆文件.似乎我必须安装最初热门复制repo的SVN版本,并转储该repo以使其进入更新的SVN.这句话似乎验证了我在hotcopy中遇到的问题:http://svn.haxx.se/users/archive-2005-05/0842.shtml
我觉得像我刚才已经有失踪的东西.也许有一些倾倒的标志,神奇地使倾倒1/5大小...
我还有其他选择吗?
更新:最后一个修订版#327刚刚被转储.转储文件的最终大小为127 GB.这是一个13.5 GB的回购.在我的所有存储库中,我可能大约相当于3倍.
我正在尝试安装VisualSVN服务器并且有消息"指定的TCP端口被另一个服务占用".我怎样才能找到使用443端口的服务或应用程序?"netstat -aon"仅显示我
UDP 0.0.0.0:443 *:* 4252
Run Code Online (Sandbox Code Playgroud)
操作系统是Windows.是的,之前我在这台电脑上安装了VisualSvn Server.然后我删除它(我没有看到任何SVN服务运行)并想重新安装.
另外我想知道我应该选择哪种身份验证模式.考虑到我想在外部驱动器上安装存储库.
先谢谢你,Alex.
当文件在名称中包含加号(+)时,我有一些问题将文件提交到我的VisualSVN服务器.这是iOS开发所需要的.当我尝试提交名称包含加号的文件时,我收到以下错误:
svn:E155011:文件'C:...\Foo + Bar.txt'已过期
svn:E160013:找不到'/svn/Test/!svn/txr/1-8/Foo+Bar.txt'路径
这非常令人沮丧.我在Windows和Mac OS X上尝试了几个客户端(TortoiseSVN,Apache SVN),同时拥有1.6和1.7客户端.我怀疑这可能是一个VisualSVN问题,除非在SVN中加号总是特殊的.如果是这样,是否有任何解决方法(例如转义加号或其他东西).我无法在Google上找到任何相关信息.
我对VisualSVN服务器的了解:它支持Windows Active Directory身份验证和使用我的Windows用户名和密码的“基本”身份验证。我可以成功使用TortoiseSVN,CollabNet和Mac OS X Subversion客户端。
要复制该错误,请执行以下操作:
然后,我在“凭据”下面看到以下错误:
Unable to access https://<svn-server> : svn: E170001: Negotiate authentication failed: 'No valid credentials provided'
org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Negotiate authentication failed: 'No valid credentials provided'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:62)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
at org.tmatesoft.svn.core.internal.io.dav.http.DefaultHTTPNegotiateAuthentication$1.run(DefaultHTTPNegotiateAuthentication.java:175)
at org.tmatesoft.svn.core.internal.io.dav.http.DefaultHTTPNegotiateAuthentication$1.run(DefaultHTTPNegotiateAuthentication.java:166)
at org.tmatesoft.svn.core.internal.io.dav.http.DefaultHTTPNegotiateAuthentication.authenticate(DefaultHTTPNegotiateAuthentication.java:221)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:450)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:371)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:359)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:710)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1032)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:94)
at hudson.scm.SubversionSCM$DescriptorImpl.checkRepositoryPath(SubversionSCM.java:2282)
at hudson.scm.SubversionSCM$ModuleLocation$DescriptorImpl.checkCredentialsId(SubversionSCM.java:3043)
at hudson.scm.SubversionSCM$ModuleLocation$DescriptorImpl.doCheckCredentialsId(SubversionSCM.java:3016)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 因此,当我尝试在Eclipse中添加新的存储库位置时,似乎会发生此错误.但是,我确信URL和身份验证信息(用户名和密码)是有效的.错误看起来像这样,
当我https://localhost/svn/TestSVN用作URL 时会发生这种情况.我知道我用我的电脑名称替换了,localhost但是当我使用我的电脑名称时,会发生同样的错误.当我安装TortoiseSVN和VisualSVN-Server时,我没有进行任何自定义安装,因此在大多数情况下,安装依赖于默认设置.我在构建存储库时也使用了所有默认设置TestSVN.我已成功下载了所有Subversive SVN Team Provider工具以及SVN Connector(SVNKit 1.8.12),因为我已经成功地将其他SVN存储库位置(而不是VisualSVN位置)添加到Eclipse中.我不确定它是否会有所帮助,但这是我的VisualSVN的截图,
我还应该注意到我已经尝试关闭防火墙以及关闭可能干扰端口443的Skype或其他应用程序,但这些选项并没有给我带来太多好处.
编辑:我使用本教程用Eclipse配置SVN,并在10:38正确地按照用户正在做的事情并在输入正确的信息并按"下一步/完成"后得到上述错误.
编辑2:自 2016年9月1日起,此问题现已修正为Eclipse Neon的颠覆性问题.
我们计划在悉尼的另一个办公室拥有一个SVN镜像存储库.我们在两个位置都使用VisualSVN服务器v2.5.7.
我决定用svnsync它来做.起初我想同步所有存储库,当所有存储库与镜像存储库同步时,调度程序将svnsync每隔午夜调用一次.
它可以同步我们的一个存储库的167个修订版.但是在第168次修订版中,我们有一个无法同步的大文件(大约250 MB的压缩oracle文件).即使我修改了本地和远程服务器的超时,它也无法正常工作.它在一个点上粘了大约一个小时,并给我以下错误:
传输文件数据....................... svnsync:E175002:PUT为'/ {some path}/{ bigfile } .zip':无法发送请求body:已建立的连接已被主机中的软件中止.<{ target url }>
以下是我在httpd-custom.confVisualSVNs的Apache服务器(本地,镜像)中的文件中所做的修改:
Timeout 300000
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 300000
<IfModule dav_svn_module="">
# Enable a 1 Gb Subversion data cache for both fulltext and deltas.
SVNInMemoryCacheSize 1048576
SVNCacheTextDeltas On
SVNCacheFullTexts On
#SVNCompressionLevel 9
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我甚至将超时时间增加到600000或更多,但结果是一样的.我以http模式启动了两台服务器.在我们的本地网络上,它可以在20分钟内同步所有存储库.
关于我们的互联网连接的上传速度大约是256 Kbs,我不希望这次在互联网环境中.但我希望SVN服务器等待我为它们设置的超时,因为我们可以轻松地将这些大小的文件提交到使用CollabNet Server的其他SVN服务器.成功提交只需2个小时.我认为300000秒的超时距离是2小时.
我在工作的企业中将大型存储库放入SVN服务器中。我每天需要验证此存储库的完整性,以检查SGBD的某些不稳定或破裂。
我正在使用提示命令行“ svnadmin path_to_my_repository”来验证我的存储库的完整性。
问题是:我的存储库太大(约28GB,28.029版本),此操作需要大量时间才能完成。
问题是:我如何优化此操作以花费比实际更少的时间?还是我可以用其他方法用更少的时间来验证存储库的完整性?
一些额外的信息: