单机上的单个用户的免费版本控制

时间:2013-04-20 16:35:52

标签: version-control

有一些类似的问题,但其中一些是5岁(所以可能有更好的新东西),其他的不能满足我的所有要求。

我正在寻找版本控制软件的建议。

  • 必须免费用于商业用途。
  • 所有开发都将由一个人完成。
  • 所有开发都将在一台机器上完成 - 64位Windows 7机器。
  • 许多小项目 - 每个项目都很小 - 只需要几周的工作量。所以开始一个新项目应该非常快。
  • 应该有一个checkin命令行。
  • 应该有一个图形方式来查看文件的版本历史记录 - 即我输入“history file.cpp” - 它应该给我一个窗口,其中包含该文件的所有版本&这是我在历史上任何两个版本的视觉差异(带有可插拔的difftool - 我喜欢windiff)的简单方法。
  • 工作将使用不同的编程语言 - (C,C ++,Java,VBScript等)。
  • 根本不需要IDE集成。
  • 创建标签/标签应该快捷方便。
  • 永远不会进行合并和分支,因此与这些相关的任何功能都无关紧要。
  • 永远不需要解决冲突。
  • 基本内容的快速学习曲线。
  • 应该有一个命令来检查包含子目录的目录下的所有签出文件。这应该在没有运行命令时抛出UI的情况下发生。即,应从命令行接受所有文件共有的注释。
  

即。 checkin -r * .cpp -c“添加了新内容”。

  • 我喜欢我使用的perforce客户端中的一些功能
    • 虽然有一个结账命令,但我也可以强行保存一个没有结账的文件。继续工作。然后运行一个命令,搜索目录/子目录中已强制保存的所有文件&为你检查了它们。
  • 不应要求我在存储库中添加新目录。在目录中添加文件应该自动添加目录 - 即我需要在目录new中创建一个新文件A.java。我会做的

    md new
    cd new
    // edit and create the file A.java
    // create and checkin the new file A.java into the repository 
    // without complaining that the directory doesn't exist in the repository.
    
  • 应该很容易备份。即每周一次,我使用SyncToy将内容备份到外部硬盘。我不介意使用不同的方式将版本控制存储库备份到外部HDD中,但备份应该很简单 - 如果我的笔记本电脑崩溃,我应该能够重新创建所有存储库,包括备份中的版本历史记录。

  • 我正在寻找轻量级的东西。即不需要我设置单独的服务器等。

在多开发人员巨大的项目环境中的不同时间,我使用了perforce& CVS - 非常喜欢perforce。从不喜欢CVS,但使用Tortoise UI进行CVS让它变得可以忍受。

然而,对于这些版本控制系统,我始终是一个用户 - 从来不是管理员(即开发人员没有管理版本控制系统 - 有单独的版本控制专家) - 即我从未创建过新的存储库 - 所以我的知识只是客户端的东西。

我知道任何一个系统都可能无法满足我的所有要求 - 但是尽可能接近的东西会很棒。

2 个答案:

答案 0 :(得分:2)

[免责声明:我将SVN用于我的工作和个人项目,并且没有使用Mercurial的经验。]

大多数流行的版本控制系统都涵盖了大多数人的需求。

我打算建议SVN直到阅读有关不添加目录的项目。至于我从Mercurial哲学的描述中回忆起来,它管理文件而不是目录,所以它会在添加文件时自动添加任何丢失的目录。

当然,对于任何流行的版本控制系统,都可以实现这样的功能,但如果您正在寻找开箱即用的功能,可能您需要检查Mercurial ......

答案 1 :(得分:2)

虽然主题非常偏离 ,但我会尝试