February 25th, 2004, 07:59 AM
Versioning and general programming etiquette how to.
I started writing a small python application that has blossomed into a bigger python application. If you didn't know from my previous posts, I'm new to python and programming in general. My newest question, which doesn't appear to have a clear answer from the results of my google searching, is this:
How is revisioning or versioning done?
Because that's clear as mud let me elaborate. I'm not sure how to keep my new application stored. Do I keep a copy of each version in a seperate directory for posterity? Is there a python versioning-type tool? I'm the only one developing this application. I'm pretty sure because it's so nichey that no one else would even want it, but just to start good practices I wanted to know how different versions are supposed to be kept or what the versioning process is.
I know this is very subjective, but I want to make sure that I don't start programming with bad habits. I'd like to start off on the right foot.
Speaking of which, is there a standard code snippet that's used to tell a user things such as version and possible flags? (Think command line app being passed --help or -h or /?.)
A kick in the right direction would be appreciated. And no, I haven't purchased any python "How To Program" books yet. I've been using the internet for all of my questions so far.
Thanks in advance!
February 25th, 2004, 08:33 AM
It depends how over the top you want to go
Stuff I use:
Under Windows have I've used CS-RCS which is free for personal use and fairly easy to use. It also interfaces well with Textpad, a powerful code editor I like.
I have since "moved on" to CVS as I now have a small Linux server on my home network. With that I use the TortoiseCVS client which intergerates well with the Windows UI. I like the idea of having the version repository off-machine.
Under Linux there is the Cervisia CVS client.
[You can of course use command line tools for CVS under Windows and Linux]
As far as embedding the version info goes there are some guidelines in PEP8
which will allow you to use pydoc. Pydoc allows you to generate self documenting code if it's guidelines are followed.
February 25th, 2004, 09:15 AM
You should check out the Distributing Python Modules, granted this is actually talking about Python Modules not applications but it does go a little way into storing and naming...
I always keep all my projects at different stages, this way if you change something and it eventually turns out to be broken, less efficent etc you can look up how you did it prevously .
February 25th, 2004, 10:55 AM
On my current project (supybot, referenced in my sig as well), we use CVS merely because Sourceforge provides a CVS server for us already. Otherwise I imagine we might consider some more up-to-date revision control system like Subversion or Arch. If you aren't bound by any such limitations, take a look into those two.
February 27th, 2004, 04:25 PM
Thanks! I'll take a look at Subversion. I tried installing Arch on my win32 box but no luck there with the SFU from MS. I'm going to test out Subversion. I got cvs installed on it no problem.
Originally Posted by Strike
My linux box is in the toilet right now and I don't have time to resurrect it. Once I do, I'll install arch on that if I haven't gotten it to work under SFU.