我是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合并工作场所文件和分支文件之间差异的策略?
答案 0 :(得分:1)
在提交时,服务器确定是否在以后的修订版本中修改了任何受影响的文件。如果情况并非如此,则提交成功完成。否则,它会中止,并且您被要求更新您的工作副本。
更新工作副本时,客户端会确定是否已在本地修改任何传入文件。如果不是这样,则更新成功完成。否则,它会尝试将传入的更改合并到本地文件中。
尝试合并传入的更改时,客户端会确定是否可以干净地插入此类更改。如果是这种情况,则合并成功完成。否则,您将遇到需要手动修复的冲突。