Sam's Blog entries for category 'git' Subscribe to feed for category 'git'

All my published projects are now on GitHub

Date: Thursday, 9 September 2010, 15:32.

Categories: perl, ironman, git, github.

Been a busy couple of weeks, but just thought I'd mention in case any of my previous contributors are interested: all my published projects are now available on GitHub.

Converting from CVS to git was surprisingly painless, although complicated by the fact that each project repository had a public and private part, since I manage each project's section of my website as part of the project, and I doubt anyone else has much use for the mishmash of templates and config files I use for that.

It was pretty easy add a regexp to prune out the bits I didn't want, convert my unix login to my git user details, and shift everything up a directory with the following commands:

git cvsimport -v -d /opt/cvs -S '(bin/|site/)' \ -C git-Text-Matrix Text-Matrix \ -A ~/git-cvsimport-authorconv.txt cd git-Text-Matrix git mv src/* . rmdir src git commit -m 'Shifted everything up a directory so repository root matches public section of old CVS project.'

I then did the same for the private directories and then placed the newly created directories back under my old project dir as separate git repositories.

Things seem to test OK, although looks like I've been a bit inconsistent with whether I've included generated files like MANIFEST and META.yml from project to project. I expect that'll sort itself out next time I work on any given project.

I really am kicking myself for sticking to CVS so long rather than giving git a try, if anyone else is lingering: make the effort, it'll repay itself within days.

Git honestly makes it effortless to do all those "Best Practice" things you never quite do with CVS because it's too much hassle.

GitHub is just icing on the cake.

App::podweaver and Pod::Weaver::PluginBundle::ReplaceBoilerplate

Date: Monday, 23 August 2010, 13:16.

Categories: perl, ironman, git, pod-weaver.

As mentioned in my previous article, "Still Alive and What I've Been Up To", I've been working on a way to let me use Pod::Weaver without being forced down the route of using Dist::Zilla.

(The reason for not using Dist::Zilla is that its work-flow doesn't fit mine.)

To that end I've developed App::podweaver, Pod::Weaver::Role::SectionReplacer, and Pod::Weaver::PluginBundle::ReplaceBoilerplate.

All the above are GitHub because they're not yet ready for CPAN release, since they lack important things like, oh, tests that they don't go nuts and delete all your code.

That said they're at a stable enough stage that I've used them to weave their own documentation without trouble, and are potentially of enough use and interest for me to put them up for early adopters to take a look at, or for people to copy the guts to do their own thing with.

For more details on what does what, carry on reading below the cut.

I've failed the Perl Iron Man Challenge again, but I'm still alive, just busy.

I've had a couple of articles semi-written for the past two weeks, but they still very much works-in-progress, because they're about projects that are still... very much in-progress.

So I thought I'd post an interim report in the style of the "What I'm Working On" posts that crop up every so often.

One project is getting Pod::Weaver to do what I want, as mentioned in my previous article, "To Dist::Zilla, or not to Dist::Zilla?", this has involved using Moose for the first time, Pod::Weaver for the first time, Pod::Elemental for the first time, Config::MVP for the first time, and Git for the first time.

Browse Sam's Blog Subscribe to Sam's Blog

By year: 2010, 2011, 2012, 2013.

Or by: category or series.

© 2009-2013 Sam Graham, unless otherwise noted. All rights reserved.