将现有项目添加到版本控制系统

时间:2014-08-06 12:05:47

标签: visual-studio version-control mercurial

我获得了一个Visual Studio项目,该项目尚未添加到任何版本控制系统,它有几个“版本”,基本上是像Project-v1,Project-v2,Project-v3等文件夹。如何添加这一切都是为了Mercurial?我想也许可以将Project-v1添加到Mercurial,然后复制并覆盖Project-v2而不是Project-v1,提交,然后复制并覆盖Project-v3,提交等等。但这有点笨拙。有更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,没有。

您需要从一个空的存储库开始,然后将“Project-v1”的内容复制到该文件夹​​中,然后执行:

hg addremove
hg commit -m "<insert appropriate message here>"

然后,对于每个后续版本,请执行以下操作:

  1. 删除工作文件夹的全部内容,Mercurial相关文件除外,如下所示(但可能更多):
    • .hg(文件夹)
    • .hgignore
    • .hgtags
    • .hgsub
  2. 将内容从版本文件夹复制到工作文件夹
  3. 执行以下Mercurial命令:

    hg addremove -s 80
    hg commit -m "<insert appropriate message here>"
    

    -s 80参数将处理移动或复制文件等内容 因为它们与现有文件至少80%相似。如果这似乎给你 误报,增加数量。

  4. 删除工作文件夹内容的重点是你也会这样做 提交删除Project-V2中不存在的文件,或者可能已被移动。如果 您只需将每个版本文件夹的内容复制到工作文件夹中即可 保留已删除或移动的旧文件,这可能不是您想要的。

    是的,这有点笨拙,但正如文斯在评论中所说,你已经在版本文件夹方面有一个笨重的解决方案,所以你需要在它变得更好之前摆脱笨拙。