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

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

Hi Monks, Sages and Shamans,

I'm comfortable using git for managing my projects, but still foggy about relationships between repositories.

I just took over maintaining a CPAN distribution. My github repo is not a fork of the gitpan repo. Would a fork be better? And if so, how would I push changes I've already made to my local repo to a local clone of a fork of a gitpan repository?

In general, are there docs/tutorials describing work flows using github for managing perl distributions? I recall a lot of discussion around the time that gitpan got started, but am not having had much luck with search engines.

I did locate a post from chromatic extolling the virtues of this new way of working.

Thanks for any pointers.

Replies are listed 'Best First'.
Re: gitpan - sync'ing git repositories
by Anonymous Monk on Dec 22, 2010 at 09:48 UTC
    My github repo is not a fork of the gitpan repo. Would a fork be better?

    Upon reading https://github.com/schwern/gitpan/blob/master/README, I don't think it will because

    If you tag your releases in a consistent manner and publish the location of your repository, gitpan doesn't offer anything new to the developer.

    Gitpan is a read-only repository built from tarballs you uploaded to cpan, mostly useful to those who download from cpan :)

    And if so, how would I push changes I've already made to my local repo to a local clone of a fork of a gitpan repository?

    I don't think you need to, but I think this answers it

    How can I merge gitPAN's history with my module?
    ------------------------------------------------
    
    If you are the owner of a CPAN module and have an existing, but
    incomplete, repository you can fill in the history using gitPAN. The
    technique is outlined in this article.
    http://use.perl.org/~schwern/journal/39974
    The only things that might change are the push/pull targets

    In general, are there docs/tutorials describing work flows using github for managing perl distributions? I recall a lot of discussion around the time that gitpan got started, but am not having had much luck with search engines.

    I haven't see one.

    I've read Git for Computer Scientists,

    I've seen A one-hour talk by Randal Schwartz describing what Git is, and why it should be used over other revision control systems,

    and I've skimmed Git Magic a few times and Everyday GIT With 20 Commands Or So a few more times.

    This has helped me muddle along, but I mostly work solo, don't publish much, and occasionally submit small patches anonymously.

    I haven't had to resolve conflicts the git way, and I don't care much about attribution, I only care that the correct user name and email address are exposed in the logs, and not a history of computers i've used.

Re: gitpan - sync'ing git repositories
by Corion (Patriarch) on Dec 22, 2010 at 08:45 UTC

    As far as I'm aware, gitpan is a post-facto git repository, created from all uploads to CPAN. I wouldn't say it is necessary. People can contribute via patches, so even having a public git repo is convenient but not necessary.

    Personally, I put some of my distributions onto github, but that's mostly for convenient synchronizing the source between different locations.

Re: gitpan - sync'ing git repositories
by schwern (Scribe) on Jan 17, 2011 at 03:50 UTC

    As the developer, you should have nothing to do with Gitpan. It will (eventually) take care of itself as you make releases to CPAN. Do not make your dev repo a fork of the Gitpan repo.

    Gitpan is not intended as a development repository. It's a reorganization of historical releases to make them available in a consistent manner across all distributions. The only time it has value to a developer is if you want to fill in gaps in the history of your development repository. Like if at some point in the past a new repo was started but the old repo was not imported, Gitpan can be used to fill in the old history so you have something.

    Gitpan is not updating because the original import was done using a prototype that required a lot of babying to make it work. It had no logging and could very easily wedge itself. I started a rewrite but did not finish it. It's in the "rewrite" branch if anyone wants to work on it. Right now I have $work and Test::Builder2 sucking down my time.

Re: gitpan - sync'ing git repositories
by Anonymous Monk on Dec 22, 2010 at 15:33 UTC
    gitpan hasn't updated in 6 months, so it looks like it might be dead.
      probably ran out of disk space :)