Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.tele.dk!feed118.news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.007 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'configure': 0.05; 'repository': 0.05; 'say,': 0.05; 'subject:Question': 0.07; 'defeating': 0.09; 'machines.': 0.09; 'mercurial': 0.09; 'protocols.': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'subject:Source': 0.09; 'python': 0.11; 'wrote': 0.14; 'sections': 0.14; 'changes': 0.15; '*should*': 0.16; 'clone': 0.16; 'easier.': 0.16; 'initially,': 0.16; 'mercurial,': 0.16; 'needless': 0.16; 'reasonably': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'responses.': 0.16; 'rewritten': 0.16; 'select.': 0.16; 'ssh': 0.16; 'stage.': 0.16; 'code.': 0.18; 'version.': 0.19; 'help.': 0.21; 'machine': 0.22; 'comfortable': 0.22; 'network,': 0.22; 'putting': 0.22; 'install': 0.23; 'propose': 0.24; 'setup,': 0.24; 'stick': 0.24; 'earlier': 0.24; 'initial': 0.24; 'question': 0.24; 'source': 0.25; 'options': 0.25; 'appreciated': 0.26; 'holds': 0.26; 'header:X-Complaints- To:1': 0.27; 'tried': 0.27; 'point': 0.28; 'hosting': 0.29; 'experiences': 0.30; 'moved': 0.30; "i'm": 0.30; 'program,': 0.31; 'code': 0.31; 'getting': 0.31; 'comments': 0.31; 'closer': 0.31; 'directly,': 0.31; 'directory,': 0.31; 'firewall': 0.31; 'there.': 0.32; 'this.': 0.32; 'probably': 0.32; 'run': 0.32; 'framework': 0.33; 'not.': 0.33; '"the': 0.34; 'problem': 0.35; 'knowledge': 0.35; 'basic': 0.35; 'advice': 0.35; 'anybody': 0.35; 'test': 0.35; 'but': 0.35; 'there': 0.35; 'version': 0.36; 'thanks': 0.36; 'project': 0.37; 'starting': 0.37; 'being': 0.38; 'system,': 0.38; 'server': 0.38; 'machines': 0.38; 'to:addr:python-list': 0.38; 'previous': 0.38; 'rather': 0.38; 'anything': 0.39; 'itself': 0.39; 'quote': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'enough': 0.39; 'received:org': 0.40; 'even': 0.60; 'remove': 0.60; 'collaborate': 0.60; 'everybody': 0.60; 'ago,': 0.61; 'full': 0.61; 'simply': 0.61; 'simple': 0.61; "you're": 0.61; 'first': 0.61; 'back': 0.62; 'myself': 0.63; 'choose': 0.64; 'decided': 0.64; 'central': 0.64; 'networking': 0.64; 'more': 0.64; 'management': 0.65; 'situation': 0.65; 'life': 0.66; 'world': 0.66; 'here': 0.66; 'latest': 0.67; 'between': 0.67; 'believe': 0.68; 'frank': 0.68; 'frequently': 0.68; 'sharing': 0.69; 'felt': 0.74; 'lack': 0.78; 'describes': 0.84; 'mistakes.': 0.84; 'nfs': 0.84; 'subject:Control': 0.84; 'joel': 0.91; 'step.': 0.91 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: "Frank Millman" Subject: Re: Question about Source Control Date: Wed, 19 Mar 2014 08:41:35 +0200 References: X-Gmane-NNTP-Posting-Host: 197.87.161.37 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.3790.4657 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.4913 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 71 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1395211309 news.xs4all.nl 2872 [2001:888:2000:d::a6]:50558 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:68536 "Frank Millman" 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