Skip Menu |

This queue is for tickets about the Dist-Zilla-PluginBundle-CJM CPAN distribution.

Report information
The Basics
Id: 60140
Status: resolved
Priority: 0/
Queue: Dist-Zilla-PluginBundle-CJM

People
Owner: Nobody in particular
Requestors: KENTNL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.08
Fixed in: 0.10



Subject: Should depend on Git::Wrapper, not Git.pm
Although Git.pm is *generally* provided by git, and depending on it is *one* way to signify a working git install, it is however not a guarantee. That is, one could have a working Git install , and have no Git.pm in path. And this is especially problematic for old cpan, which will not know what you are talking about =). Using Git.pm is only of real use to people who are writing git plugins, ie: working with gits internals. For things that just need to call the git command line tool, there is no need to depend on Git.pm. For the sake of reduced confusion for people attempting to build your dists to submit patches, your @CJM bundle should ideally be installable for them so they can build and test the dist as you would. In short, please => Git::Wrapper, which will hopefully guarantee a working command line interface to git ( ie: only needs a working PATH env var with git in it ) and that the given git implementation appears up to scratch ( that is, its not some other app called git ). And then nuke "Git" from your deps. Thanks =).
Git is listed as a dependency because it is one. GitVersionCheckCJM uses Git.pm, not Git::Wrapper. I don't list Git.pm as a dependency of Dist-Zilla-Plugins-CJM so that people who don't care about git can still install and use the other plugins. But if you're installing the @CJM bundle, then I assume you're actually going to use GitVersionCheckCJM. I used Git.pm instead of Git::Wrapper, because I don't really like Git::Wrapper's approach. It wants you to pass options as a hashref instead of the command-line-style that Git.pm uses. The problem is that it has no documentation, so the way you use it is: 1. Read git-command manpage and decide what arguments to pass 2. Figure out what hashref will create that command line With Git.pm, I just skip step 2. It wasn't until later that I realized you can do the same thing with Git::Wrapper (just skip the hashref and pass the command-line you want), but by then I'd already written GitVersionCheckCJM and didn't see a good reason to go back and rewrite it. If somebody wants to rewrite GitVersionCheckCJM to use Git::Wrapper, I'd accept a patch, but I'm not likely to do it myself any time soon.
Dist::Zilla::PluginBundle::CJM 0.10 now depends on Dist::Zilla::Plugin::GitVersionCheckCJM 3.02, which uses Git::Wrapper instead of Git.