Kernel "make clean" kills repo

Chad Netzer cnetzer at comcast.net
Tue Aug 9 04:59:01 CDT 2005


On Mon, 2005-08-08 at 23:15 -0700, Matt Mackall wrote:
> > > Anupam Kapoor wrote:
> > > > > -RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc \) -prune -o
> > > > > -RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc
> > > > > +RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc -o -name .hg \) -prune -o
> > > > > +RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg
> Yep. Tested here and submitted upstream.

This could become a problem for other projects that adopt Mercurial, and
are using GCC to auto-generate dependencies.  Typically, these
dependency files are generated with the .d suffix, and are often deleted
as part of the Makefile 'cleaning' process.  Furthermore, the cleaning
commands will most likely, naively, just delete all .d files, borking
the Mercurial repository.  .i files also have a similar problem, as they
may be autogenerated, and thus, auto-deleted.

So, I think we should definitiely mention this issue in the mercurial
docs, with some easy workarounds (ie. using the --exclude option of
find, when searching for .d and .i files, as above)

I could come up with a documentation patch on the weekend, if no one
beats me to it.

Chad




More information about the Mercurial mailing list