首页 新闻 会员 周边

svn 获取不到新添加的文件,真有这么大的Bug?

0
悬赏园豆:100 [已关闭问题]

环境
客户端:XP SP2+TortoiseSVN 1.6.1, Build 16129
服务器:Windows2003+Subversion 1.6.1
Bug描述
例如SVN库为:svn://172.16.75.113/MyProject/trunk/aaa
Step1: 把“svn://172.16.75.113/MyProject/trunk/aaa” checkout 到本地硬盘“F:\aaa1”
Step2: 把“svn://172.16.75.113/MyProject/trunk/aaa” checkout 到本地硬盘“F:\aaa2”
Step3: 在“F:\aaa1”新建文件夹“test1”,在“F:\aaa1\test1”下新建文本文件“Class1.cs”,在文件夹“test1”上右击,执行“TortoiseSVN|Add...”,在文件夹“F:\aaa1”上右击,执行“SVN Commit...”。
step4: 在“F:\aaa2”里右击,执行“SVN Update”,可以正确获取新添加的“test1”文件夹和“Class1.cs”文件。
step5: 在文件夹“F:\aaa2\test1”下新建文本文件“Class2.cs”,在“Class2.cs”上右击,执行“TortoiseSVN|Add...”,在文件夹“F:\aaa2”上右击,执行“SVN Commit...”。
step6: 在“F:\aaa1”上右击,执行“SVN Update”,结果发现并没有获取到新添加的“Class2.cs”,显示的版本号倒是最新的。如果右击,执行“TortoiseSVN|Repo-browser”,可以看到“Class2.cs”在版本库里面。如果把“F:\aaa1”删除重新checkout也能获取到“Class2.cs”。

大家遇到过这种问题没有?有什么好的解决办法没有呀?总是删了重新checkout实在太崩溃了。而且最重要的是不知道每次Update是否有遗漏的文件呀。

问题补充: to Galactica: 我可是同一个帐号每次都这样呀。你是什么版本? to James.Ying: 都是空白文件,这个有关系么?
1-2-3的主页 1-2-3 | 初学一级 | 园豆:200
提问于:2009-10-09 16:58
< >
分享
其他回答(2)
0

我测试了下,没问题.你说的这种问题,只有在不同帐号的情况出现过,但是重新checkout后就解决了,注意,要从本地备份的根删除.

Launcher | 园豆:45045 (高人七级) | 2009-10-09 17:35
0

2个新文件内容是否相同?

James.Ying | 园豆:1472 (小虾三级) | 2009-10-10 10:03
0

个人觉得楼主的思路有问题:

在实际使用中很少有把Step1和Step2同时进行,也就是把“svn://172.16.75.113/MyProject/trunk/aaa” 同时checkout的,如果这样,造成的conflict只能由系统来Merge或人工merge,

正确的处理思路是:在Svn server端限定同一个库项目如果已经checkout,则不允许再check out,需要修改者,先添加完文件(夹)再commit,此时,svn服务器上项目库就是最新的版本,其他人要添加文件(夹)时,必须再checkout,即必须先获取项目库的最新版本。

总结一句话:在整个项目库未check in之前,其他人无法确保正确获取整个项目库的所有完整信息。

注意: 在微软的VSS环境也常见此错误。这与svn客户端的版本无关。

邀月 | 园豆:25475 (高人七级) | 2009-10-10 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册