Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Seeing Perl in a new light

by Lady_Aleena (Chaplain)
on Apr 13, 2009 at 05:39 UTC ( #757156=note: print w/ replies, xml ) Need Help??


in reply to Re: Seeing Perl in a new light
in thread Seeing Perl in a new light

ELISHEVA...You mentioned version control, I am not exactly sure of what you mean by that. gwadej also suggested it. Could you please tell me what exactly that entails?

Have a nice day!
Lady Aleena


Comment on Re^2: Seeing Perl in a new light
Re^3: Seeing Perl in a new light
by CountZero (Bishop) on Apr 13, 2009 at 07:00 UTC
    Version Control lets you do two things:
    1. Keep all (old) versions of your files around without cluttering up the structure on your disk.
    2. Allows more than one programmer work on the same project without getting in each other's way (by overwriting, deleting, changing, moving, ... files).
    A nice explanation is on Visual Guide to Version Control. Personally I use Subversion (which plays very nice with Windows and is integrated into my IDE Komodo), but if you got a lot of people working on the same project GIT comes highly recommended nowadays. Perl5 has recently moved to GIT.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      For someone starting out with version control I would recommend using RCS on some small projects to get the basics down. Then using Subversion or one of the other more complex and project oriented version control systems will be a lot easier.

      Elda Taluta; Sarks Sark; Ark Arks

Re^3: Seeing Perl in a new light
by Bloodnok (Vicar) on Apr 13, 2009 at 11:59 UTC
    A version control system is a stand-alone, fundamental component of a configuration management system that is responsible for the management of individual versions of controlled files/items, providing the ability to manage versions of controlled item versions, typically involving the...
    • Management i.e. creation, update & conditional deletion of item versions
    • Support of version branches
    • Support for the merging of item versions
    • Management i.e. creation, update & conditional deletion of controlled item version labels
    Note that the merging of item versions is specific to software configuration control/management systems, the facility is neither required, nor indeed present, in hardware control/management systems.

    Note also that the management of item version labels provides the basis for baseline management - in which aggregates of items (& their versions) are managed as enitities in their own right.

    I would take issue with CountZero in as much as ... Allows more than one programmer work on the same project ... is not necessarily provided by a version control system, it is known (in the trade) as co-ordination of concurrent development and is a fundamental requirement of any configuration management system.

    A user level that continues to overstate my experience :-))
Re^3: Seeing Perl in a new light
by gwadej (Chaplain) on Apr 13, 2009 at 15:14 UTC

    This is going to be another piece you will think is unnecessary in the beginning. Years ago, I saw version control described as a time machine for your development.

    A version control system allows you to go back to earlier versions of your code or compare your two different version of code. This is most useful while things are changing.

    For example, imagine that you've got a mostly stable version of your code in place. Now imagine you have a great idea that will only take a few minutes to code up.... 4 hours later, nothing is working and you are wishing you could go back to where you were 4 hours ago. Version control to the rescue.

    You could do the same thing by zipping up your entire site any time you feel it is worth keeping.

    Version control can also help with seeing what changes you have made (to help you find where you went wrong). Say you want to compare what you did 2 hours ago with what you have now.

    The point of enlightenment for me was when I realized that I could use version control proactively. Make sure everything is under version control. Try something experimental that might break everything. If it works, keep it. If it doesn't, toss it. No real loss.

    Of course, there are better and more advanced ways to make use of version control, but these would be helpful right away.

    G. Wade

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://757156]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (10)
As of 2014-07-11 17:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (232 votes), past polls