2010-07-20 165 views
0

下午好,解决冲突颠覆

我与“冲突树”里的情况如下问题: - 该网站提醒说,要解决这个问题应该升级到服务器1.6和1.6客户端,但我做了升级,但它只是告诉,但没有正确纠正。

问题:

  • 用户A接收到的projeto.c然后提交该文件在提交之后的版本是30
  • 用户B由结帐前提交并在文件projeto 29版本。 c他将文件移动到另一个名为“main”的文件夹并执行提交。

  • 提交用户B的结果:

在进行犯了不可检测的冲突,并警告说该版本是过时的,所以他做了更新,并已表明,冲突是在所谓的“三冲突”后,他要求解决,并坚持要承诺版本32而不是31.检测到版本31删除正确的文件的用户文件,并添加旧用户B. 32它只显示提交并再次删除。

最终结果:该文件projeto.c是“主”与29

版本如何妥善解决这种情况呢? 如何在用户自动执行提交之前执行更新?

THX

等待响应

+2

将其翻译成英文或发生不幸事情发生在你身上。 – 2010-07-20 19:43:50

+0

[Vocêpode falar emInglês?](http://translate.google.com/#auto|pt|Can%20you%20speak%20in%20English%3F) – kennytm 2010-07-20 19:44:03

+0

欢迎来到SO。对不起,这是一个英语社区。继续尝试翻译! – 2010-07-20 19:45:04

回答

0

如果我这样理解正确:

user1> svn co file:///var/svn/repo 
Checked out revision 29. 
.... 
user2> svn co file:///var/svn/repo 
Checked out revision 29. 
.... 
user1> svn mv foo ./dir/ 
A   dir/foo 
D   foo 
user1> echo 'some more work' >> dir/foo 
... 
user2> svn rm foo 
D   foo 
user2> svn ci -m'we don not need foo anymore' 
Deleting  foo 
Committed revision 30. 
... 
user1> svn ci -m'refactoring of foo has worked' 
Adding   dir/foo 
Deleting  foo 
svn: Commit failed (details follow): 
svn: '/foo' is out of date 
user1> svn up 
    C foo 
At revision 30. 
Summary of conflicts: 
    Tree conflicts: 1 
user1> svn stat 
!  C foo 
     > local delete, incoming delete upon update 
A + dir/foo 

现在,用户1 & user2的去喝酒一杯咖啡对方,并决定究竟是什么做的。如果他们决定FOO应该留下,什么应该发生(但我真的不明白出了什么错在这里):

user1> svn resolve --accept=working foo 
Resolved conflicted state of 'foo' 
user1> svn stat 
A + dir/foo 
user1> svn ci -m'Shiny & glorious reintroduction of foo, all brand new, but with a history' 
Adding   dir/foo 
Transmitting file data . 
Committed revision 31. 
.... 
user2> svn up 
A dir/foo 
Updated to revision 5. 
user2> svn log dir/foo  
user2> tail --lines=1 dir/foo 
some more work 

所以一切都应该没问题。问题是:问题中出了什么问题/没有在场景中工作?我怀疑有人想到一个不幸的合并。

至于第二部分:

“如何执行更新之前,当用户执行一个自动提交?”

不自动做任何事情,它应该是直至项目中的开发人员定期更新自己的结帐。自动化只会让事情变得更糟。他们应该能够处理这些类型的冲突&根据需要解决它们。