http://www.perlmonks.org?node_id=1014895


in reply to Re^2: Maintaining a CPAN Module.
in thread Maintaining a CPAN Module.

Bitbucket is my preference also. Mercurial has a very Subversion-like command-line interface (just need to remember to type "hg" instead of "svn"). The only main difference is that with Subversion, "commit" will send your changes to the remote server; in Mercurial (and other distributed version control systems like git), "commit" only commits changes to your local copy; you use "push" to send committed changes to a remote server.

Once you get used to that, you'll come to love it. With Subversion, if you're coding on a train, plane or some other place with no Internet access, you can't do commits. You just need to do one big commit once you have network. With Mercurial (or git, etc) you can do lots of little commits for each change you make, and then push them once you have network.

There is a fantastic Mercurial plugin too called "hggit". This allows you to pull from and push to git repositories. I use it to create github mirrors of my repositories. That way I get to use the tools I want (Mercurial, Bitbucket), but still take advantage of collaboration with github's enormous user base.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name
Once you get used to that, you