#1
  1. Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2004
    Posts
    23
    Rep Power
    0

    Question 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!
  2. #2
  3. Mini me.
    Devshed Novice (500 - 999 posts)

    Join Date
    Nov 2003
    Location
    Cambridge, UK
    Posts
    783
    Rep Power
    14
    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.

    Cheers,
    Grim
  4. #3
  5. Hello World :)
    Devshed Frequenter (2500 - 2999 posts)

    Join Date
    Mar 2003
    Location
    Hull, UK
    Posts
    2,537
    Rep Power
    69
    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...

    http://www.python.org/doc/2.3.3/dist/dist.html

    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 .

    Mark.
    programming language development: www.netytan.com Hula

  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2001
    Location
    Houston, TX
    Posts
    383
    Rep Power
    14
    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.
    Debian - because life's too short for worrying.
    Best. (Python.) IRC bot. ever.
  8. #5
  9. Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2004
    Posts
    23
    Rep Power
    0
    Originally Posted by Strike
    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.
    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.

    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.

IMN logo majestic logo threadwatch logo seochat tools logo