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

dmitri has asked for the wisdom of the Perl Monks concerning the following question:

Esteemed Brethren,

I have several modules published on CPAN. These live in bits and pieces on my various computers. When I need to release a new version, I get the tar ball from CPAN, make my modifications, and release it again. The problem with this is continuity -- it would be nice to have them version controlled.

What do other monks do -- where do you host your modules? I was thinking sourceforge.net, but are there other possibilities?

Thanks, Dmitri.

Replies are listed 'Best First'.
Re: Hosting Perl projects
by Corion (Patriarch) on Mar 23, 2007 at 16:11 UTC

    I "host" my modules in my local cvs. From there, a nightly batch publishes the current state of my cvs to my website. Whenever I have something ready for release, I push that from cvs to CPAN via Module::Release. CPAN (and backpan) do all the versioning for me beyond what little patches I do in my local cvs before publishing. release can also publish to sourceforge but I found sourceforge to be a lot of pain for little gain.

      Module::Release looks very good -- I haven't heard of it before. Thanks!
Re: Hosting Perl projects
by shigetsu (Hermit) on Mar 23, 2007 at 17:19 UTC
    I'm rather fond of subversion (also known as svn) for version control. There are pre-packaged packages for most distributions. Furthermore, tutorials as well as a reference guide exist.
      I know how to use subversion... My question was whether there are free places on-line to host the projects.

        I use Google Code for my CPAN repository. E.g. http://code.google.com/p/dagolden/

        It works very well and supports https, which many free repositories do not.

        -xdg

        Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

        And in case it's not clear from the post above, Google code offers both a very uncluttered web interface and full svn access. So people can view your stuff on the web, but you can interact with the repo from the command line.
Re: Hosting Perl projects
by arc_of_descent (Hermit) on Mar 24, 2007 at 09:56 UTC

    You mentioned sourceforge.net, so why not try it out? I've been using it for many years now to host my open source projects, and its the best by far.

    svn, cvs, mailing lists, web site for your project, forums, project news, donations.. they have it all


    --
    Rohan

Re: Hosting Perl projects
by DrHyde (Prior) on Mar 26, 2007 at 08:59 UTC
    Up until a couple of weeks ago I ran my own CVS server. But now I've switched to Sourceforge for all my stuff. It Just Works.
      It Just Works

      This must be a different sourceforge from the one I've encountered :-)

Re: Hosting Perl projects
by Moron (Curate) on Mar 26, 2007 at 15:24 UTC
    If your going to assemble your projects onto one computer, why not one of your existing ones? I'd have one version control repository (cvs, subversion or to taste) per tarball and use tags to record the history of parts explosions including source versions that went into every release. That way I can write Perl scripts against my repository that can help me quickly track down a culprit change even if for example a bug is reported two releases down the road from its cause.

    -M

    Free your mind

      Funny as it sounds, I don't really have a permanent development machine... My main computer at home is a Windows box (a Compaq, of all things) running a browser and MS Office for family use. My other boxes come and go... I don't trust myself to do backups anyway, so it'd be better to host somewhere else.
        What I did when in a similar situation a few years ago was repartition and convert my home machine into a dual-booting Linux and XP system - one for work and the other for games (everything else is better on Linux anyway, including OpenOffice.org). Using GRUB you can make the Windows the default boot environment for your family with a few seconds delay to give you time to elect to boot Linux for your work.

        -M

        Free your mind

        I don't trust myself to remember to do backups either. That's why I use a cron job for that purpose. I have cron driven backups going of databases on sql servers and of key directory trees, including the cvs repository I administer for a Coding Network I participate with.

        Now that a friend has turned me on to the wonders of rsync, I'm consideraing adding an automated rsync (enabled by shared keys between the hosts) to handle the offsite part of the backup project.

        It was that same friend who, a few years before when I was crying about lost data, mentioned to me, "That data must not have been very important if it wasn't important enough to backup". The truth of that statement certainly didn't make it any easier to hear at the time. But I was still rebuilding my system on a new drive, when I found mysql_backup.cgi in a google search. And as soon as the system was back up, I added that and some tar czf invocations to my crontab.

        Now configuring such automated backups is an early priority for me whenever I put real work into a new server.

        -- Hugh

        if( $lal && $lol ) { $life++; }