Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Learning Dist::Zilla and Git

by Anonymous Monk
on Nov 24, 2012 at 02:56 UTC ( [id://1005329]=perlquestion: print w/replies, xml ) Need Help??

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

I seem to be doing things the "wrong" way, blame it on growing up with FORTRAN. :-)

I am nearly finished with developing a bunch of modules that for me, are all related. Related to a particular objective. And hopefully CPAN will take the bunch when done. It's between 30 and 50 modules (definitely more than 30).

Dist::Zilla would seem to be the tool for this. But Dist::Zilla (or dzil) when I run it to build yet another module in this ongoing project, only ever gives me an a dist.ini file and a lib/ directory. I see that there are "bundles" that other CPAN contributors use, but I do I need to download all of them?

All of the code I am writing revolves around floating point numbers, and I know about tolerances and so on. Is there a buncle out there for people like me? I will spend time trying to validate the floating point arithmetic in testing, but if there was something that would generate the "expected" and "trivial" testing of making objects and testing interface functions, that would be wonderful.

I have looked for examples, and if examples exist, I don't see how they apply.

I suppose I am going to need to put all of this mess in a CVS of some kind, and it looks like Git is the method of choice. Again, I've gone looking for information on this, and nothing seems to click. I use emacs if that matters.

Thanks.

Replies are listed 'Best First'.
Re: Learning Dist::Zilla and Git
by moritz (Cardinal) on Nov 24, 2012 at 09:37 UTC
    Dist::Zilla would seem to be the tool for this. But Dist::Zilla (or dzil) when I run it to build yet another module in this ongoing project, only ever gives me an a dist.ini file and a lib/ directory. I see that there are "bundles" that other CPAN contributors use, but I do I need to download all of them?

    Extutils::MakeMaker and Module::Build are both core modules, so don't need to be downloaded. On the other those require you to do much more manual work than if you used dzil.

    I suppose I am going to need to put all of this mess in a CVS of some kind, and it looks like Git is the method of choice. Again, I've gone looking for information on this, and nothing seems to click.

    Yes, git is a good choice. It has a relatively high learning cost at the beginning, but it is well worth it. There is lots of good material about learning git on the internet, but it still needs while to make "click" in your head.

Re: Learning Dist::Zilla and Git
by Anonymous Monk on Nov 24, 2012 at 03:49 UTC
Re: Learning Dist::Zilla and Git
by tobyink (Canon) on Nov 24, 2012 at 08:44 UTC

    Git has probably the most user-hostile command-line interface since... well, I was going to say since edlin, but actually edlin, while unpleasant to use, had quite a small command set and within a couple of hours you could be using it quite proficiently. I can't think of a suitably bad predecessor to compare git to.

    Subversion has a nice command-line interface. It's the closest version control systems get to a piece of cake. It's not great at handling multiple branches, and merging as some other version control systems, but depending on your needs, you might not need them.

    Mercurial is a little more complex than subversion, but much simpler than git. Nowadays I use it pretty much exclusively. There's even a plugin called "hg-git" that allows you to work on git repositories with the mercurial client. Yay, I never need to use git! :-)

    I look on the whole Dist::Zilla cult with great suspicion.

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
Re: Learning Dist::Zilla and Git
by choroba (Cardinal) on Nov 24, 2012 at 09:09 UTC
    You can use many* version control systems from Emacs. See VersionControl.

    * CVS, RCS, SCCS, Arch, Git, Mercurial, Bzr, Monotone, and SVN.

    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1005329]
Approved by McDarren
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-03-19 11:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found