I am working in a student group with several other people. We would like to开发者_StackOverflow 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?
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 try hg 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.
精彩评论