Hi Simon, I can only tell you how I (and the rest of my company) uses perforce, maybe that will help. If you're in the area, you could come and visit and I'd be very happy to show you it in action! (and maybe get a half glass of refreshment as well).
We too use a single centralised server, in this case it's in Boston,USA. I've gave up using the command line part of perforce many years ago, the GUI is much much better. For example, you make a change and want to see what differences you've made so far, the GUI 'diff' is great, far easier to see than the command line equivalent. I don't know why you would want to build your own commands around a command line. Maybe you just need to see a demo of p4 in action --we just use the commands provided by perforce. I develop on both Windows and Unix and have my local machines set up so that I can control both environments from the GUI. However I do sometimes do changes from the Unix machines we have in Boston, in which case I do have to revert to command line perforce. It's nice to have the choice, but the GUI is so much better. With perforce, you do 'sync' a copy of the source code to your local machine and check code in and out using perforce. All my development is therefore done using local copies of the source code. As our source code is pretty large, and I currently have sync'ed multiple copies of different releases, I have around 20Gb of local source code. It sounds a lot, but 20Gb is nothing these days and maintaining it is extremely easy. Once I check the code back into the central server (i.e. I've finished creating new bugs to keep support in work ;-) ), then it is up to other developers to sync those changes back into their own local copies. This might sound cumbersome, but in perforce there is a single command to sync your own source code with what the centralised server sees. This is real easy. And it is nice for this not to be automatic -- mostly when I'm developing I don't want new changes as this sometimes affects the work I'm doing. You can control with perforce exactly what is on your local machines. Sometimes I sync the entire release, sometimes just the bits I need. And of course you can sync to previous branches, or label, or dates etc. Does this help? If you have any more questions you can always email privately if you like. I hope you're well, long time no see and all that! Greg -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Simon Verona Sent: 01 August 2010 22:55 To: [email protected] Subject: Using Perforce SCM with jBASE Hi I'm looking of migrating our source control from our own home grown system to a "proper" SCM. I'm looking at Perforce, as it's the one Jim always advises I should use... It supports a command line API as well as working with Visual Studio as a plug-in for our dotnet software. I'm looking at the command line interface and thinking of the best way of implementing. Currently, we have a single centralised server where we directly edit our databasic code. We only have 3 developers. We don't use check-in/check-out currently - and the process of making software releases is much more informal - "Are all code changes complete". We have been lucky, as this has always worked well. I'm looking for some advice as to how to best implement P4 into this environment. It looks like I can build a simple source code control "shell" around the P4 CLI commands to check in/check out code from the Perforce system. However, I'm not sure how we can then make software revisions - I presume we do this from the Perforce repository.. As you can probably see, I'm confused. I've read some of the html online guides for Perforce but there are some assumptions are made that the user knows about source control systems. I seem to think that Perforce almost assumes that every user has their own full copy of the softwar environment (ie a local copy of jBase and all the source code) and then checks out the code they want to edit from the Perforce server, checking it back in when complete. Is this correct? Do I presume therefore that regularly, all checked-in code needs to be distributed to all development servers ??? Am I even close on how this would work ? Can anybody clarify? Thanks in advance Simon -- Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -- Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en
