用SVN管理代码出现的一些问题

本文详细介绍了在使用TortoiseSVN与eclipse进行代码迁移时遇到版本不匹配问题的解决方法。包括更换Subclipse版本、检查JavaHL库是否正确安装以及解决代码仓库版本不一致导致的checkout失败问题。提供了从代码仓库建立、代码提交到冲突解决的完整步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题1 :SVN:This client is too old to work with working copy 错误

用TortoiseSVN上传代码后,用eclipse迁出时提示"The client is too old to work"错误。

查看TortoiseSVN的版本为:

TortoiseSVN 1.7.2, Build 22327 - 32 Bit , 2011/11/29 22:43:53
Subversion 1.7.2,
apr 1.4.5
apr-utils 1.3.12
neon 0.29.6
OpenSSL 1.0.0e 6 Sep 2011
zlib 1.2.5

安装的eclipse插件subeclipse的版本为1.6.x 在网上搜索得知,两者版本不匹配会出现上面的错误。 官网上注明(NOTICE 部分)了,但是我没注意看。

 

Subclipse 1.4.x includes and requires Subversion 1.5.x client features and working copy format.

Subclipse 1.6.x includes and requires Subversion 1.6.x client features and working copy format.

Subclipse 1.8.x includes and requires Subversion 1.7.x client features and working copy format。

所以解决办法是安装匹配版本 ,本例中,我应该安装Subeclipse 1.8.x。


问题2 :Incompatible JavaHL library loaded. 1.7.x or later required.

如果出现“JavaHL”错误时,注意检查是否安装好了JavaHL。wiki地址为:http://subclipse.tigris.org/wiki/JavaHL#head-3aade2af9917e233083d3a19446311d48c6f4ff7 。windows下和linux下处理方式有些不一样。


问题3 :安装上面的操作依然不可以checkout!

很无奈,太折腾了。现在弄清楚原因了。

原因如下:

我宿舍一台windows电脑,安装的是subversion1.7+subeclipse1.8.x;实验室的电脑是ubuntu,安装的是subversion1.6+subeclipse1.8.x。

我没想到的是ubuntu更新后安装的也还是svn1.6,通过svn --verison可以查看。问题就出在这里!我一直以为ubuntu里装的是最新版。更要命的是,如果你用svn1.7建的仓库,并上传了代码,那么用svn1.6是无法下载下来的! 所以解决办法如下:

用svn1.6建仓库!windows上用svn1.7也可以checkout!

windows下配置为:subversion1.7+subeclipse1.8.x

ubuntu下配置为:subversion1.6+subeclipse1.6.x 【用低版本的建仓库,第一次传代码】


附录:如何将现有代码变为仓库?

1、在google code申请一个帐号,完成后会得到一个svn的地址。此外,密码是随机生成的,需要翻&*&墙得到。

2、进入工程文件夹,用RabbitSvn或者TortoiseSvn的commit(提交)命令将该文件夹提交上去。注意:此时代码并未上传 ,仅仅在文件夹下生成了一个.svn的文件夹,表示这个目录下有新的文件处于添加状态(刷新后显示"+"号)。

3、在eclipse中已经安装好subeclipse插件,刷新工程文件,会看到所有文件显示+号。

4、右键工程->Team->commit(提交),选择要上传的代码即可!


问题4: Commit后提示以下错误,无法提交成功!

命令行下,提示 "svn: Commit failed (details follow): svn: '/***/xxx.c' is scheduled for addition, but is missing "
用RabbitSVN,图形界面下提示 "/xxx/xxx.c is not a working copy "

原因:之前用SVN提交过的文件,被标记为"add"状态,等待被加入到仓库。若此时你把这个文件删除了,SVN提交的时候还是会尝试提交这个文件,虽然它的状态已经是 "missing"了。

解决:在命令行下用 "svn revert xxx.c",在图形界面下,右键--Revert,选中那个文件。这样就告诉SVN把这个文件退回到之前的状态 "unversioned",也就是不对这个文件做任何修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值