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