develooper Front page | perl.perl5.porters | Postings from January 2012

Re: Detecting duplicate extension directories

Thread Previous | Thread Next
From:
Nicholas Clark
Date:
January 27, 2012 08:10
Subject:
Re: Detecting duplicate extension directories
Message ID:
20120127161004.GS9069@plum.flirble.org
On Fri, Jan 27, 2012 at 10:58:57AM -0500, David Golden wrote:
> On Fri, Jan 27, 2012 at 10:36 AM, Nicholas Clark <nick@ccl4.org> wrote:
> > to move. This isn't a problem when building from a distribution tarball or
> > other clean checkout, but it is causing "fun" (ie strange noisy catastrophic
> > build failures) when anyone runs git pull on a build checkout, and then
> > runs disclean before starting again. git will correctly delete all the
> > repository files in the old location, but correctly doesn't delete any files
> > created by the build process (eg Makefile), and hence as the directory is
> > not empty git does not delete it. This is enough to confuse Configure.
> 
> I regularly use "git clean -dxf" to get back to a pristine, clean
> checkout.  (e.g. my "grindperl" tool does that automatically before
> running Configure).  It's dangerous to automate for general use as
> "distclean" since it blows away any files manually added, too.
> Possibly -X would be better.
> 
> Or perhaps "git clean -dxn" -- dry run mode -- would be enough to
> catch a dirty repo and abort.  If that's too draconian, "git clean
> -dn" maybe?
> 
> Net: instead of solving the specific case of duplicate directories,
> let's use git to solve the general case of a dirty repo.

I don't agree. We support building outside of git repositories, because

a: we distribute tarballs
b: we build on platforms that don't support git

We can't assume that

a: git is present to do our work for us
b: that we can get it to delete all the build files, without also deleting
   user owned files. distclean is careful to only delete the things that we
   know we built.

Please also, don't let the perfect be the enemy of the good.

I've just presented a *working solution* to a current problem.
Even if we adopt your plan, it will do as an interim solution until your
plan delivers a solution.

Nicholas Clark

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About