Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Learning How to Use CVS for Personal Perl Coding Practices

by nothingmuch (Priest)
on Nov 06, 2005 at 11:19 UTC ( [id://506097]=note: print w/replies, xml ) Need Help??


in reply to Learning How to Use CVS for Personal Perl Coding Practices

I'd like to really stress out the importance of using a distributed version control system.

This makes your life so much better in ways people just don't realize till they try it (i explain why below).

I use two systems in my day to day life:

I use svk to interoperate with svn driven repositories. I don't like it as much as darcs because it's not as simple or easy to use, and it's not as easy to publish repositories on http as it is with darcs. Aside from that it's an excellent system, which can really boost productivity.

For my own projects I use darcs, which is a joy to work with.

I suggest you start with darcs, then also learn to use svn. After that replace svn with the more complex svk (darcs will help you understand svk's ideas, svn will let you understand svk's interface, and experience will help you understand why svk exists). In my opinion don't bother with cvs - the world is phasing it out, and it's limited, and frustrating to learn.

I think that darcs is by far the best system to start with because it's so simple and "pure" that technical distractions are kept to an absolute minimum. This lets you really see what's going on without blowing your mental stack. However, this does not mean that darcs is an incapable tool.

The power of distributed version control is philosophical more than anything - it teaches you on the value (and the price) of branching. The cheaper it is to branch, the more valuable branches are.

Constructing branches for temporary digressions, versions, big features, release engineering, and so on and so forth, and then throwing away whatever's unneeded is, IMHO a crucial part of using version control systems effectively.

Distributed version control systems are designed from the start to support these features well.

A notable mention is bazaar (and bazaar-ng), which is bassed on arch (another distributed version control system) but whose interface is supposed to be more friendly. I haven't used bazaar but I found arch (well, tla to be specific) traumatic at best.

-nuffin
zz zZ Z Z #!perl
  • Comment on Re: Learning How to Use CVS for Personal Perl Coding Practices

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2024-04-19 21:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found