我想尝试一个分布式修订控制系统。我使用几台 Windows PC、几台带 Linux 的 PC 和一台 Mac。在 Windows 上,我想使用 Tortoise。
除了 TortoiseSVN 之外的任何 Tortoise 有什么好处吗?直到最近,对它们的打击一直是它们速度慢且有缺陷,但似乎有一种新的推动力来让它们变得稳固。
我宁愿不必尝试所有三个。有人最近转行并有很好的经验吗?
我想尝试一个分布式修订控制系统。我使用几台 Windows PC、几台带 Linux 的 PC 和一台 Mac。在 Windows 上,我想使用 Tortoise。
除了 TortoiseSVN 之外的任何 Tortoise 有什么好处吗?直到最近,对它们的打击一直是它们速度慢且有缺陷,但似乎有一种新的推动力来让它们变得稳固。
我宁愿不必尝试所有三个。有人最近转行并有很好的经验吗?
我个人对 TortoiseHg 有很好的体验。它还安装了 hg 命令行系统,因此如果需要(或者如果您更喜欢在命令行上进行版本控制),您可以进入该系统。界面中有一些怪癖,但总的来说它非常可靠(如果您使用修订图视图,它看起来很棒)。Mercurial 的 Subversion 导入也很棒。
您甚至可以使用 Mercurial 的 hg-git 扩展来处理 Git 存储库,正如 CAD 专家所提到的。
我建议 TortoiseHg。如果您熟悉 TortoiseSVN,您可以立即使用它。
你想在 Windows 上使用它吗?
截至今天,在我看来,TortoiseHg 比 TortoiseSVN 更好。而且它仍然改进得非常快(我从 0.4 版开始使用它,当前是 0.9.2 和 Mercurial 1.4.2)。例如,一个不错的功能:只需在 IDE 中进行大量重构,而不关心重命名。然后在上下文菜单中选择“猜测重命名”功能并玩得开心。没有更多的历史记录,因为您使用了您最喜欢的重命名工具而不是“svn move”。
安装非常简单:下载并安装 TortoiseHg,然后重启一次。现在您也拥有了当前版本的命令行 Mercurial 和 SVN 转换工具。无非就是这个单一的包裹。
你想在 Linux 上使用它吗?
“sudo apt-get install mercurial”是您使用命令行 Mercurial 所需要的(在基于 Debian 的系统上),但此版本可能不是最新版本。我知道,有适用于 Ubuntu 的 PPA 存储库,也可能适用于 Debian。所以更新你的 APT 源列表,导入密钥,你就可以安装 TortoiseHg 了,它与 Gnome 的集成非常好。
对不起,但我不知道如何在 Mac 上安装。
无论如何,DVCS 往往很有用。它往往更有趣,无论你是在做一个单独的黑客场景还是在一个庞大的团队中工作。另外:通过克隆+推+拉,您还可以获得集成、快速和智能的备份。
但是,也有一些缺点需要考虑:
1) 如果你在 Windows 和任何 *nix 系统之间共享你的工作,你应该只使用 ASCII 字符作为文件名。Mercurial、Bazaar 或 Git 都不会像 Subversion 那样进行编码转换(参见CharacterEncodingOnWindows)。在使用 UTF-8 的任何操作系统和另一个操作系统之间切换时,任何法语口音或德语变音符号都会破坏您的工作。
2)你不应该使用很多大的二进制文件。Mercurial 不是为此目的而设计的,我认为 Bazaar 或 Git 在这方面不会更有趣。
我使用 TortoiseGit 已经有一段时间了。虽然 git 在 Windows 上的性能确实会受到影响,但在大多数情况下它是完全可以接受的。在你提到的三个中,在我看来,Git 无疑拥有最精致的“乌龟”。如果您习惯使用 TortoiseSVN,那么过渡到 Git 应该会非常顺利,因为 TortoiseGit 基于 TortoiseSVN 代码库并重用了它的许多 UI 和设计原则。
考虑到您的设置,当您只使用几台本地计算机时,似乎没有必要使用分布式版本控制。如果您已经在运行功能 SVN 服务器,则尤其如此。分布式版本控制往往在具有大量分支和合并的大型项目中更有用,因为分布式 VCS 倾向于重视高质量的合并。
也就是说,谷歌选择了 Mercurial (Hg) 作为他们对谷歌代码的分布式版本控制。大多数推理都与速度、灵活性和易用性有关。当然,在我看来,Hg 命令集看起来比 Git 命令集友好得多,而且它往往与较旧的 SVN 存储库配合得很好。
我真的只是想对关于 TortoiseHG 的建议添加评论,但评论已关闭,
如何在 linux 上添加 ppa 存储库(将 oneiric 替换为您的版本):
将以下条目添加到包管理器:
deb http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main
deb-src http://ppa.launchpad.net/tortoisehg-ppa/releases/ubuntu oneiric main
将以下条目添加到包管理器:
deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main
deb-src http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu oneiric main
重要提示:由于当前的 TortoiseHg 版本通常需要比 Ubuntu 本身提供的更新版本的 Mercurial,因此您还需要添加此 PPA。
要将 APT 配置为信任此存储库的签名密钥,请运行:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 323293EE
如果您安装了旧版本,则需要先将其删除。
sudo apt-get --purge remove mercurial
sudo apt-get --purge remove tortoisehg
步
sudo apt-get install mercurial
sudo apt-get install tortoisehg
您是否正在考虑切换到其他 VCS?因为切换到 TortoiseGit/Bzr/Hg 您将无法访问 SVN 存储库。我正在通过 TortoiseGit 使用 GIT,但它建立在 TortoiseSVN 之上并且具有类似的性能。
如果您只是在寻找使用 SVN 的替代方案,您应该看看RapidSVN。它仍然很好并且比 Tortoise 快得多,它也可以在 Mac 和 Linux 上运行。
希望这可以帮助!
发表评论 编辑
你应该考虑 Git。它是现代分布式 VCS,变得非常快速和灵活,它拥有一个非常庞大和强大的社区。许多大型项目都在使用 Git,例如 Linux(内核)和 Ruby On Rails。
有关 Git 的更多信息:http ://git-scm.com/,http : //whygitisbetterthanx.com/