Le Lun. Avr. 07 01:23:04 2008, RJRAY a écrit :
Show quoted text> I guess it just seems to me that it already is-- if META.yml is in
> MANIFEST, it doesn't get added a second time. And even if I already have
> a pre-existing META.yml file in the project directory, "./Build dist"
> will delete it and re-generate it.
M::B knows how to generate the MANIFEST. So use this feature and ignore
both MANIFEST and META.yml in your SCM.
Show quoted text> I suppose it comes down to this: I don't have an overly-complicated
> release process. Mine comes down to these steps:
>
> * Make sure everything I want in the release is committed (CVS or svn)
> * Tag it
> * If there are uncommitted changes I've chosen to not deliver, use the
> tag to co a clean copy somewhere else. Go there and create Build from
> Build.PL.
> * "./Build dist"
> * "cpan-upload <distfile>"
> * "./Build realclean"
Add "./Build manifest" as a first step.
Add "./Build disttest" before cpan-upload.
Show quoted text> At the end of that last step, a "svn stat" shouldn't show me any
> modified files (if I had uncommitted changes at the outset, then I'm in
> a fresh area created by co'ing a tag). If META.yml is changed, then it
> represents something different than is in the tagged branch of the repo
> tree. If I somehow generate it before "Build dist" and commit it, the
> dist step is still going to delete and re-generate it.
So the problem comes from your SCM usage.
Use the svn:ignore property to ignore MANIFEST and META.yml from your
Subversion repository:
rm MANIFEST META.yml
svn propedit svn:ignore .
svn commit MANIFEST META.yml .
Here is my own list:
Makefile.PL
*.bak
*.old
*.tmp
MANIFEST
META.yml
_build
blib
cover_db
Build
Build.bat
*.tar.gz
Show quoted text> It just seems to me that a sequence of "perl Build.PL; ./Build dist;
> ./Build realclean" should leave a working-directory in the same state as
> when you started (provided you've properly configured your clean-up
> actions with $build->add_to_cleanup()).
I agree so I would delete MANIFEST too, but it may not be what you want.