windows – 无法升级SVN工作副本
我有一个非常大的svn回购.当我尝试使用它(提交,更新等)时,它说有锁.
当我运行’svn cleanup’时,它表示工作副本太旧了,我需要升级它. 当我运行’svn upgrade’时,它运行,但没有说什么. 我还在repo上运行’svnadmin upgrade’,以防万一. 我安装了最新的TortoiseSVN. 通常,如果我有SVN怪异,我会移出文件,更新,移回文件,但正如我之前提到的,这是一个非常大的回购. 任何帮助,将不胜感激. 谢谢! 具体信息: >svn update svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) svn: E155004: Working copy '*****' locked. svn: E155004: '*****' is already locked. >svn cleanup svn: E155036: Please see the 'svn upgrade' command svn: E155036: The working copy at '*****' is too old (format 29) to work with client version '1.8.1 (r1503906)' (expects format 31). You need to upgrade the working copy first. >svn upgrade > 更新1: >"c:Program FilesSlikSvnbinsvn.exe" update svn: E155021: This client is too old to work with the working copy at '*****' (format 31). You need to get a newer Subversion client. For more details,see http://subversion.apache.org/faq.html#working-copy-format-change 所以,这个客户端的东西是repo格式31. tortoisesvn认为它是格式29.现在我更困惑了. 更新2: Is this about a working copy or the repository? 工作副本.虽然我也试过svnadmin升级回购.但是,我使用的svnadmin是1.8.1.我只是尝试用TortoiseSVN升级回购(1.8.10),但这并没有解决问题. is this about a file that's locked because someone locked it,or because your working directory is locked due to an incomplete 我是唯一一个使用回购的人,所以我知道没有其他人锁定它.这可能是由于操作不完整. 我用1.8.10运行svn状态,没有任何’K’.有些文件带有’L’,有一个带有’?’.列出的所有项目都是目录,而不是文件,但标有“?”的项目除外. 如果我运行’svn lock –force dirname’,它会响应该特定节点“不是文件”.当我在标有“?”的文件上运行它时,它响应该节点“未找到”. Then,there is a locked working directory because of an incomplete operation... 是的,你打电话给它.这就是为什么所有的东西都标有’L’,我收集. 当我运行清理(1.8.10)时,它给了我在我的intiial问题中报告的相同错误(格式29对于此格式31客户端来说太旧了). Remember that you can always delete a working directory and create a new one 是的.如果我删除工作副本中的任何目录并点击更新,它会抱怨它已被锁定.我无法清除锁定,原因是格式不匹配.理论上我可以重新检查整个仓库,然后复制回来,但回购是12GB(210,000个文件). Be careful about mixing up Subversion clients 所以,我没有意识到我有两个客户端,但我只是只使用TortoiseSVN(1.8.10).我今天才发现,当我尝试进行故障排除时,我有两个. *更新3:决议* 感谢所有帮助过的人,特别是@David W没有放弃我. 解决方法
这是关于工作副本还是存储库?两件不同的事情.此外,这是关于一个文件被锁定,因为有人锁定它,或因为您的工作目录由于不完整而被锁定 您可以锁定文件,阻止您进行提交.从命令行,您可以执行svn状态并查看锁定文件旁边的K.然后,您可以使用svn lock –force来窃取该锁定,并检查您的更改. (只要存储库中没有钩子阻止您窃取锁定). 然后,由于操作不完整,存在锁定的工作目录.在这种情况下,当您执行svn状态时,您将看到L.在这种情况下,您通常可以在该工作副本的根目录中执行svn清理(.svn文件夹所在的位置.) 请记住,您始终可以删除工作目录并创建新目录.混淆Subversion客户端要小心.有一段时间,它似乎没那么重要,但在版本1.6,1.7,1.8和1.9中,工作副本的结构已经改变,可能与运行其他修订版的客户端不兼容. 更新2
删除目录然后执行svn不会清除锁定问题.我打算删除整个工作目录,并重做一个svn co.您不必签出整个仓库.你只需要看看你需要什么.你需要所有210万个文件吗?我对此表示怀疑: $svn co http://server/repo # NOOOO! $svn co http://server/repo/trunk # A bit better,but do you need all # the projects under Trunk? $svn co http://server/repo/trunk/foo # Now,I'm just checking out foo $svn co http://server/repo/trunk/bar # Now,I'm just checking out bar 这将检查两个工作目录:一个用于foo,一个用于bar. 如果您确实想要检查整个主干,请使用–depth稀疏地检查您需要的内容: # Checking out trunk,but only getting the project directories $svn co http://server/repo/trunk --depth=immediates $svn up --set-depth=infinity foo $svn up --set-depth=infinity bar 这里我理论上检查整个主干,但我只是获得空的主项目目录.我只从projectsfoo和bar获取文件.但是,foo和bar共享一个工作目录.假设我开始对foo进行长时间更新,然后我去bar并尝试提交.我会收到一个警告,说明工作目录已被锁定.即使它们位于该工作目录的不同部分,我也不能在同一工作目录上执行两个单独的Subversion命令.
如果安装Tortoise,您还可以安装Subversion命令行客户端,这是一个可选的安装.我强烈推荐它!不要使用从其他地方下载的命令行客户端(如SlikSVN或CollabeNet.这并不是说这些客户端是坏的.这是你应该使用你的TortoiseSVN版本附带的命令行客户端,以保证两者之间的某些奇偶校验Subversion客户端. 清理与升级与Svnadmin 让这些困惑很容易.您不应该在工作目录中使用svnadmin命令. svnadmin用于服务器.你有的问题是严格的客户. 随着Subversion从1.6升级到1.7到1.8,现在升级到1.9,升级会将您的工作目录升级为新格式.完成后,您无法恢复旧格式.您升级到1.8格式,1.7和1.6客户端将不再工作. 清理是为了帮助删除由于Subversion客户端命令不完整而导致的锁定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-7 – 为LAMP开发设置Windows 7
- Windows 7 – Windows 7中的Windows任务计划程序如何识别失
- .net – 无法解析Assembly.dll的汇编
- bat批处理增加hosts文件常用域名
- Erlang项目无法在由rebar生成的Windows上启动
- windows-7 – 从Windows 7通过Webdav连接?
- windows-server-2008 – Windows 2008上的Apache 2.4大文件
- 产品版本显示在WIX制作的MSI文件属性中?
- 用Win2003?server打造安全的个人Web服务器
- xaml – ComboBox SelectedValue不显示
- windows-server-2003 – 具有大量RAM的服务器上的
- windows-server-2003 – 需要IPX的Server 2003 G
- windows-xp – Windows批处理文件:如果条件多则
- regedit系统注册表,msconfig系统配置
- 关于window无法远程连接时通过命令进行远程重启
- windows-server-2012 – 启动IIS管理器具有Web平
- 安装程序 – 使用Wix安装32位和64位驱动程序?
- windows-server-2012 – 使用远程桌面的最大登录
- windows – 使用Cygwin进行FFMPEG构建错误cmp:c
- active-directory – 在Windows PKI中,什么是用于