thaljef / Pinto

Curate your own repository of Perl modules
https://metacpan.org/module/Pinto::Manual
66 stars 49 forks source link

pinto pull <github_url> #99

Open akarelas opened 11 years ago

akarelas commented 11 years ago

Often I don't want to use a module from CPAN, but rather a module I (or somebody else) forked from Github and edited.

Such is the case with DJabberd, which I'll be forking and maintaining on a github repository.

I think in this case, without the command pinto pull <github_url>, life would be hard (every edit I make would require me to create a tgz and feed it to pinto). With the command (if I'm allowed to repeatedly invoke it, even with no bump in the version number), life would get easy.

thaljef commented 11 years ago

If you want to build dependencies straight from a Git repository, then I think a setup with cpanfile and Carton from @miyagawa might be what you're looking for.

Pinto only deals with packaged distributions (i.e. tar.gz files). However, you could (should) wire up a continuous integration system that builds, tests, and packages your forked repositories on every commit. Then you can automatically ship those packages to Pinto.

@melezhik has been working on Jam which integrates Pinto with your VCS -- that might be helpful. Also, there is Dist::Zilla::Plugin::Pinto::Add which ships your package to a Pinto repository at release time. But that won't be so helpful if DJabberd isn't using Dist::Zilla.

I'll leave this issue open to remind me about your use case. Maybe I'll think of something. But for now, I don't see this in the near future for Pinto.

melezhik commented 11 years ago

@melezhik has been working on Jam which integrates Pinto with your VCS -- that might be helpful

yes, recently I renamed it to pjam :)) ... and I also think that SCM and pinto integration should be done somewhere else, not in pinto - to not complicated the things ... Right now pjam only integrate subversion based projects and pinto, but if it's demanded I may think about git too ... feel free to check out pjam project - introduction may be found there ...

akarelas commented 11 years ago

@thaljef There are github repos such as vti/Twiggy, which is a forked & modified version of the original CPAN one. It's necessary for anyone wanting to use SockJS on their webserver. It would be fun if we could "pinto pull" vti/Twiggy quickly and easilly, that's all I'm saying.

miyagawa commented 11 years ago

this will be supported in Carton 1.1 by appending git URL to requires line in cpanfile.

thaljef commented 11 years ago

It would be fun if we could "pinto pull" vti/Twiggy quickly and easilly, that's all I'm saying.

I agree. Just not sure how to make it work for Pinto.

Here's what I would like to see happen though: @vti releases his version of Twiggy to his repository on Stratopan, and then you can pull it into your own repository (also on Stratopan or elsewhere).