SVN如何合并和更新工作?

时间:2016-08-23 08:14:56

标签: svn version-control merge tortoisesvn

我是SVN的新手,我感到很困惑!

考虑我已从/mybranch/trunk签出,我在目录中有这些文件:

index.php
style.css

index.php的内容是:

<?php

function say(  )
{
     echo "Hello" ; 
}

$name = "Tom" ;

?>

当我在工作的地方工作时,我会像这样编辑这个文件:

#worikin place Edit 1 
<?php

function say( $name )
{
     echo "Hello" . $name  ; 
}

$name = "jerry" ;

say( $name )

?>

现在,如果我提交,#worikin地方编辑1将替换/mybranch/trunk并且确定!

但如果其他人编辑了index.php并提交了,那么我正在编辑这样的内容:

#another user commited index.php on `/mybranch/trunk`
<?php

function say( $name , $lname )
{
     echo "Hello" . $name .$lname  ; 
}

$name = "tom" ;
$lname = "max" ;

say( $name )

?>

现在我的工作地点有#worikin place Edit 1,当我想提交它时会发生什么?

如果我想更新index.php会发生什么?更新后的index.php内容是什么?什么是SVN合并工作场所文件和分支文件之间差异的策略?

1 个答案:

答案 0 :(得分:1)

在提交时,服务器确定是否在以后的修订版本中修改了任何受影响的文件。如果情况并非如此,则提交成功完成。否则,它会中止,并且您被要求更新您的工作副本。

更新工作副本时,客户端会确定是否已在本地修改任何传入文件。如果不是这样,则更新成功完成。否则,它会尝试将传入的更改合并到本地文件中。

尝试合并传入的更改时,客户端会确定是否可以干净地插入此类更改。如果是这种情况,则合并成功完成。否则,您将遇到需要手动修复的冲突。