IMHO, anyone who isn't using some kind of revision control is just asking for trouble. I used to be like EvanCarroll, and eschew it. My moment of epiphany came when I had a "well, it worked yesterday, why the hell doesn't it work today" moment for about the nth time, and realized how much work CVS saved me:
- Find yesterdays tarball
- Unpack it somewhere safe
- Look at timestamps to see which files I changed
- Use diff on those files to find out what I changed
- Figure out which change breaks what
vs.
- Use CVS to do a diff between last CO and current files
- Figure out which change breaks what
After that, I started using CVS for everything I worked on. The more I used it, the more valuable it became. Some of the advantages:
- Multi-branch development. You can easily manage "stable" and "unstable" branches, adding patches to the "stable" branch while working on new features in "unstable". Merging the patches from stable into unstable later is straightforward.
- Multiple work sites. So I work at home and at the office, often on the same project. Sometimes I forget to save my home changes to the repository before coming in the next day (i.e. make changes at home, make changes at work, commit changes at work, make changes at home, commit changes at home). No big deal with CVS (or SVN, etc.): the merges are done automatically.
- Collaboration with other developers. This is a big one: two devs can work on two files at the same time, and neither will lose their work -- the control system takes care of the merge. Not only that, but I can easily find out who made the change without having to rely on them remembering to add their name in a comment.
Much like test-driven development, CVS or SVN can seem like a waste of time at first, but after a little while one realizes that it actually saves time in the long run.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.