2009-05-01 34 views
16

结合DVCS我被迫使用Visual源安全2005年的工作。我想将它与DVCS结合起来,这样我就可以在本地签入文件,而不会中断我的同事,如果有错误或者它没有编译。与Visual源安全

在我尝试用水银,它的工作原理,但会导致一些奇怪的问题。也就是说,它认为其他人已经检出了我已经签出的文件。

这里是我的,我应该如何管理它的想法:

  1. 禁用自动结账。
  2. 工作在本地水银
  3. 当我准备把我的变化...
    1. 克隆我的Mercurial库。
    2. 更新我的Visual源安全存储库
    3. 拉和合并使用水银两个储存。
    4. 检查一切到Visual Source Safe中。

这听起来是合理的?我总是听到有关VSS的坏消息,这是否只是要我直接看到这些问题?

+0

问题应当加以修改,以更准确的一个:“如何使一个很好的版本控制系统吸” – 2009-05-01 16:03:41

+0

我处于相同的位置。但是你所描述的过程听起来比使用vss本身更糟糕:-) – 2009-05-01 16:10:32

回答

13

WBlasko

我发现了同样的问题。我想在需要时更改文件并合并它们,而不是等待其他开发人员解锁它。为我工作的解决方案是:

1)获取最新版本的VSS项目(Ⅰ划归VSS所有VSS项目):

c:\vss\projectA 

2A)与水银

cd vss\projectA 
C:\vss\projectA>hg init 
初始化

2B)克隆项目的地方,它可以随意

hg clone vss\projectA myProjects\projectA 

3更改)获取最新的变化s从VSS副本中跳过(如果您来自1和2,则跳过)

C:\myProjects\projectA>hg pull 
C:\myProjects\projectA>hg update 
(solve conflicts if any) 

4)随意使用克隆版本。后来,把你的工作到VSS副本:

C:\myProjects\projectA>hg push 
(don't run hg update yet, wait for VSS latestes version) 

5)现在,执行所有文件的收银台VSS项目

6)运行上的VSS项目合并你“汞更新”到最新的VSS变化。

C:\vss\projectA>hg update 
(if there are conflicts, resolve them) 

7)提交更改

C:\vss\projectA>hg commit 

8)执行VSS签(释放锁到其他人) 返回到步骤3。重复步骤3-8永远然后.. 。;-)

通过这种方式,您可以使用良好的版本控制系统,同时仍然可以与传统项目“交谈”。你也将可以享受到: 一)没有问题,锁定的文件 b)您可以与其他人知道如何使用汞 c)作出分支机构共享资源库等

只是要小心,首先更新/解决冲突,测试,然后进行VSS签

干杯, 路易斯