On Wed, Aug 20, 2008 at 4:16 PM, Eric Wilhelm
<[EMAIL PROTECTED]> wrote:
> Hmm, I guess it depends on what you think a tag should contain, along
> with some artifacts of the VCS (e.g. "a tag must be a copy of trunk"
> sort of thing.)

For me, the tag *is* the release.

My release tagging program makes sure the code is checked in locally
and synchronized to the remote repository, checks that the MANIFEST is
up to date, checks that the release tag matches the version found in
the META.yml, checks that the tag matches the POD in each 'provides'
in META.yml, prompts me as to whether all the prereqs are up to date
(haven't automated that part yet), and so on.

Then my release program exports a copy of the source from the remote
repository, builds it and tests it with Build.PL, repeats the
build/test cycle with Makefile.PL, tests the pod and if all goes well,
prompts me for whether to upload to CPAN.

This all built up over years as I tried to automate away each stupid
distribution packaging mistake I've made in releasing something to
CPAN.

David

Reply via email to