更新会发生什么?

时间:2014-03-25 17:59:08

标签: svn version-control

在这种情况下会发生什么:

我有这个版本的代码:(版本223)

//Return 2
public void a(){
    return 2;
}

但是一个队友做了两次改变并且已经两次提交:

首先,只是删除评论:(版本224)

public void a(){ 
    return 2;
}

second (VERSION 225)

//Now it returns a SUM
public void a(int a , int b){
    return a+b;
}

当我运行更新命令时,我只是使用最后一个版本的CODE(225)覆盖它,或者它将首先进行两次更新到VERSION 224,另一次更新从224到225?

2 个答案:

答案 0 :(得分:0)

阅读SVN book表明SVN仅保存delta。

我认为有一些优化,如果更改大于文件本身 - 它将发送完整文件并合并它,如果更改集很小 - 将发送更改集并将其合并到本地文件。 但是在本书中没有找到这种优化

答案 1 :(得分:0)

当您针对工作副本运行svn update时,它会将WC的当前修订号发送到服务器。然后,服务器计算该修订版与存储库中最新修订版之间的差异(AKA HEAD),并通过网络发送该差异,以便客户端应用于您的WC。

相关问题