Skip Menu |

This queue is for tickets about the Dist-Zilla-Plugin-Git CPAN distribution.

Report information
The Basics
Id: 83891
Status: resolved
Priority: 0/
Queue: Dist-Zilla-Plugin-Git

People
Owner: Nobody in particular
Requestors: KENTNL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 2.009
Fixed in: 2.010



Subject: CommitBuild frequently commits non-build files to release branch
 At present, if you happen to be using [TestRelease] and [CommitBuild] together, 

when you do 

  dzil release

[TestRelease] makes the "build" directory dirty, and adds non-release files to the tree, such as MYMETA.json , and files pulled in by tests, such as the Debian file for Kwalittee tests. 

This problem has been happening for a reasonably long time, and I've just procrastinated and forgotten to report it.

But take a look at this and see what I mean:  https://github.com/kentfredric/ElasticSearchX-Model-Generator/tree/releases 

There is a *LOT* of cruft there injected during Build/Test , and it really should more closesly resemble : https://github.com/kentfredric/ElasticSearchX-Model-Generator/tree/build/master 

 

This is most notably annoying if you're trying to compare the build prior to a new release with  "git diff releases build/master " to see the difference relative to CPAN.

My current workaround is "git diff -D releases build/master" which hides elements from "releases" that are not also in "build/master", which is a good workaround, but all the same, this is a reasonably annoying bug that aught to be fixed. 

 

I don't like CommitBuild, and don't use it anymore since JQUELIN took it out of his Author bundle. I'd merge a patch, but I don't plan on working on this myself.
On 2013-03-12 01:42:34, CJM wrote: Show quoted text
> I don't like CommitBuild, and don't use it anymore since JQUELIN took it > out of his Author bundle. > > I'd merge a patch, but I don't plan on working on this myself.
that goes for me, too -- rjbs
I don't think TestRelease has anything to do with this. It extracts the built tarball into a tmpdir and runs tests in there. It shouldn't modify the built_in directory at all. But I'll believe you that some plugin does, so I'll commit the patch anyway. Just released as 2.010.
On 2013-03-17 04:36:46, CJM wrote:
Show quoted text
> I don't think TestRelease has anything to do with this. It extracts the
> built tarball into a tmpdir and runs tests in there. It shouldn't
> modify the built_in directory at all.
>
> But I'll believe you that some plugin does, so I'll commit the patch
> anyway. Just released as 2.010.


My mistake, its https://metacpan.org/module/Dist::Zilla::Plugin::CheckExtraTests that causes built_in to become dirty.

https://metacpan.org/source/DAGOLDEN/Dist-Zilla-Plugin-CheckExtraTests-0.011/lib/Dist/Zilla/Plugin/CheckExtraTests.pm

^ runs ->build and friends in the built_in dir
 

I've noticed that the mechanism of doing a clean write-out for the purpose of git check in, although its a guaranteed solution to work around misbehaving modules like this one, its a notable performance hit , so if you'd rather, I guess I could refactor commitbuild to have a "tmpdir" flag so that only people who really wanted that behaviour would get it.

It's up to you. I no longer use it myself, and nobody's complained about the performance.