MAC提供#1.7.10 SVN客户端,但我的项目使用的是#1.6.18 SVN。
因此我收到错误消息“工作副本太旧(格式10,由Subversion 1.6创建)”
目前我无法升级我的项目svn版本。所以我认为唯一的方法是重新安装旧版本的SVN。 (如果有更好的解决方案,请告诉我)
我的问题是:
我可以在#1.6 SVN工作副本上使用#1.7 SVN客户端吗?如果没有
如何卸载旧的SVN并重新安装旧版SVN?
感谢您的帮助。
答案 0 :(得分:3)
即使您的服务器是1.6.8,使用版本1.7.10也没有问题。您不应该做的是在系统之间共享工作副本。无法保证一个Subversion客户端将使用与另一个相同的工作副本格式。例如,某些Windows客户端使用_svn
目录而不是.svn
目录 - 尤其是对于VisualStudio开发。
在最长的时间内,大多数客户端使用的默认Subversion客户端格式在1.7客户端之前几乎保持不变。在该客户端中,每个目录中找到的.svn
文件夹被删除,只在目录的根目录中只有一个.svn
文件夹。这使1.7命令行客户端工作副本与早期格式不兼容。
您从未解释过您的Mac上有1.6.8的工作副本。是不是你的Mac上有某种使用旧格式的GUI客户端,或者你有两个不同系统使用的共享。如果你正在做后者,不要。查看每个系统上的单独工作副本。
如果您需要在不执行提交的情况下共享工作副本之间的更改,请使用svn diff
命令创建修补程序文件。然后使用svn patch将此补丁文件应用于其他工作副本。
答案 1 :(得分:0)
将旧版本安装在路径上高于默认实现的位置。
即。 svn默认安装在/ usr / bin /中(我可以在我的系统上看到)但是我的PATH中的usr / local / bin更高,所以如果我这样做,我会在usr / local /中安装旧版本仓
答案 2 :(得分:0)
一个1.7客户端可以在svn upgrade
。在那次活动之后,1.6个客户将无法使用该工作副本。
您可以将另一个版本的SVN安装到非默认路径,并将该路径放在$PATH
环境变量的前面,或者每次使用时指定二进制文件的完整路径(如果你去的话)在这条路线上,您可以在shell中创建一个alias
来简化它,但要小心,因为您可能会对哪个svn感到困惑)
答案 3 :(得分:0)
还有另一种方式。您可以从1.7(应该在Mavericks上工作)回滚到1.6。
sudo mv /usr/bin/svn* ~/Documents/svn_1.7
/Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svn /usr/bin/svn
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svnadmin /usr/bin/svnadmin
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svndumpfilter /usr/bin/svndumpfilter
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svnlook /usr/bin/svnlook
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svnserve /usr/bin/svnserve
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svnsync /usr/bin/svnsync
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/subversion-1.6/bin/svnversion /usr/bin/svnversion
瞧!