Mercurial:共享存储库而不将其放在服务器上?
我和其他几个人在一个学生小组中工作。我们希望使用 Mercurial 作为我们的版本控制系统,但我们的一些文件无法放在 Google Projects 或 Codeplex 等公共托管服务中。有没有什么方法可以让我们在自己的机器上托管一个存储库,根据需要在彼此之间传递文件/变更集,而不会造成可怕的冲突混乱?
我知道 Mercurial 有一个可用于打包存储库的 bundle
命令。如果我这样做,并将捆绑包发送给其他人,而他们希望将更改返回给我,那么最好的方法是什么?给我寄一包回去吗?
我在服务器上有一个共享托管帐户。我有机会从那个盒子里运行 Mercurial 吗?我怎样才能发现这一点?
I am working in a student group with several other people. We would like to use Mercurial as our version control system, but some of our files can't be put online in a public hosting service like Google Projects or Codeplex. Is there some way that we can host a repo on our own machines, passing the files/changesets between each other as necessary, without creating a horribly conflicted mess?
I know that Mercurial has a bundle
command that can be used to package a repo. If I do that, and send the bundle someone else, and they want to get the changes back to me, what's the best way to do that? Send me a bundle back?
I have a shared hosting account on a server. Is there any chance I could run Mercurial off that box? How would I find this out?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Bundle 命令打包变更集,不一定是完整的存储库。
--base
选项允许您指定其他人拥有的最早版本(如果您捆绑的版本超出了需要的版本也没关系)。因此,您可以来回发送捆绑包,它的工作原理应该与使用服务器基本相同。无论哪种方式,如果需要合并,它会在您尝试hg update
时告诉您。您必须与您的主机联系以查看它是否受支持。
The bundle command packages changesets, not necessarily a full repository. The
--base
option lets you specify the earliest version the other people have (it's okay if you bundle more than needed). So you can send bundles back and forth, it should work essentially the same as if you used a server. Either way, if a merge is required, it will tell you when you tryhg update
.You would have to talk to your host to see if it's supported.
不需要有一个中央仓库。这是分布式版本控制系统的优点之一。每个开发人员在他的计算机上都有自己的存储库,如果可能的话,您可以通过电子邮件或连接到彼此的计算机来交换变更集。
如果您的一台机器可供所有其他机器访问,并且您认为这将简化协调每个人工作的后勤工作,那么它可以充当“中央”存储库。
There is no need to have a central repo. That's one of the advantages of a distributed version control system. Each developer has his own repository on his machine, and you exchange changesets by email or by connecting to each others' machines, if that's possible.
If one of your machines is accessible to all others, it can serve as the "central" repository if you think that this will ease the logistics of coordinating everyone's work.