当subversion服务器不可用时我该怎么办?我有两个版本的代码?

时间:2012-06-17 15:05:46

标签: svn tortoisesvn

我正在使用TortoiseSVN来管理C#应用程序的版本控制。突然,我的svn服务器崩溃了。我有两个不同版本的代码。如何合并?

2 个答案:

答案 0 :(得分:2)

等待服务器恢复。

如果你真的需要这样做,那么: 1

svn diff working_copy_1 > diff.diff
cd working_copy_2
patch -p0 < diff.diff

然而,这有问题:

  • 当你最终将它提交回SVN时,它将被视为一次提交(将无法分离出两个更改集)。
  • 如果两个工作副本有不同的基本修订版,那么上述合并将导致讨厌的冲突,或者会错过某些更改。

<小时/> <子> 1。这假设你正在使用Linux或类似的(我猜你不是,因为你正在使用TortoiseSVN!)我不知道Windows等价的patch是什么,我会告诉你想出来。

答案 1 :(得分:0)

我认为你已经得到了你的答案,可能对你没有用,但是发布这个只是为了获取信息以防其他人需要查看......

如果我们在一个大型团队中工作,许多人每天都在使用SVN服务器进行提交,更新他们在团队中使用的更改,突然有一天我们发现我们的SVN服务器已关闭。

它只是给我们带来了很多困难,因为我们需要合并每一个变化,这是一种混乱的情况。

我们陷入困境的原因: - 由于SVN是版权系统enter image description here

的CENTRALIZED形式

每台机器都连接到中央服务器。现在,如果我们的中央服务器出现故障,那么所有人都会陷入困境。 enter image description here

相同的解决方案: -

使用GIT,Mercurial,Bazaar等分布式版本控制系统

有用的原因: -

与每台机器仅连接到中央服务器的集中式系统不同,在分布式版本控制系统中,每台机器也可以相互连接。它基本上是一种本地存储库本身就是在个人的机器上形成的。

enter image description here

我们到达的优势: -

如果我们的中央服务器出现故障,Client1可以通过连接到Client1等来更新Client1所做的更改。

enter image description here

所以现在我们不必等待我们的中央服务器可用。我们可以继续我们的正常工作,一旦我们的服务器可用,就可以将代码提交到它上面。