"Frank Millman" <fr...@chagford.com> wrote in message news:lg6s09$irl$1...@ger.gmane.org... > Hi all > > I know I *should* be using a Source Control Management system, but at > present I am not. I tried to set up Mercurial a couple of years ago, but I > think I set it up wrongly, as I got myself confused and found it more of a > hindrance than a help. Now I am ready to try again, but I want to avoid my > earlier mistakes. >
Many thanks to all for the responses. I have a much better feel for it now. If anything, I have moved from being confused because I did not understand it, to being confused because there are so many options I am not sure which to select. However, I consider this to be progress! I have decided to stick with Mercurial, simply because that is what I used in my previous attempt and I felt comfortable with it. Also I believe that Python itself uses it, so if it is good enough for them ... Before actually plunging in, I would like to summarise what I think I have understood, and what steps I propose to take. I realise now that my initial problem had nothing to do with SCM/VCS, and everything to do with my lack of knowledge of basic networking protocols. As I understand it now, if I want to share the repository over a network, I can choose between SSH and HTTP. I like the following quote from Joel Spolsky - "The quick-and-dirty way to make a central repository is to use Mercurial's built in web-server. ... I'm going to configure the server to allow anybody in the world to do anything they want to it. ... Needless to say, this is rather unsafe, but if you're on a nice protected LAN at work and there's a good firewall and you trust everybody on your LAN, this is reasonably OK." This describes my situation well, so to keep things simple I will start with this. To recap my basic setup, I have machine A which holds the source directory, machine B which is used to edit the program, and machines B and C which are both used to run the program. Initially, to prove that I understand the concept, I propose to install Mercurial on all three machines. Machine A will hold the central repository, which I will clone onto machines B and C. After editing on B, I will 'push' to A, and then from C 'pull' from A to get the latest version. If this works, I will simplify it to make my life easier. My first thought was to remove the clone from machine C and set up an nfs share pointing to the working directory on machine A, so I don't need the 'pull' step. Then I thought, why not just point to the working directory on machine B, so then I can test the changes on C directly, without even having to 'push'. I realise that this is defeating the object of version control, but I think it makes sense. I will still use version control to maintain a full history of the project on machine A. I appreciated Mark's comments about hosting his project on code.google.com - not just the mechanics, but the benefits that he experiences from sharing his code. I am actually getting closer to being able to do that with my project. Over the last few years I have frequently 'trashed' whole sections of my code and rewritten them, which I suspect would not endear me to someone attempting to collaborate with me. However, the broad framework is starting to settle down now, so I am starting to think about putting it out there. Then the question is which hosting service to use - there are so many of them. I will probably come back here for more advice when I get to that stage. Frank -- https://mail.python.org/mailman/listinfo/python-list