[Distutils] CVS/Entries.Log ignored by setuptools default CVS file-finder logic

Jeff Shell eucci.group at gmail.com
Mon Aug 6 19:31:00 CEST 2007


On 8/6/07, Phillip J. Eby <pje at telecommunity.com> wrote:
> At 07:57 AM 8/6/2007 -0600, Jeff Shell wrote:
> >A basic fix appears to be easy: add another `re_finder` for
> >`CVS/Entries.Log` with a regex like ``^A\s\w?/([^/]+)/``.
>
> I'd add this, but since I don't have data to test it on and you
> apparently do, please send a tested patch and I'll add it to the next version.

By "tested patch", do you want a unit test to accompany the patch? Or
do you just want it to have been tested by me and compared against the
current release?

I ask because there doesn't seem to be any test coverage of the
"walk_revcontrol()" functionality, and writing such tests that depend
on directory structures and files and bla bla bla is quite a pain as
I'm sure you know. (Especially testing for revision control based
files that are meant to be example files that also might be under, um,
revision control).

In any case, I think I have such a patch. Where to send?

> >I'm sure I
> >could add something like this with an entry-point and our own egg, but
> >it seems ridiculously small for us to maintain internally.
>
> Of course; it should be in setuptools.  It's just been years since
> I've used CVS, and I've never encountered this issue.

I'm still not sure why I'm seeing it. I have verified that it only
seems to happen on a fresh checkout. If I run ``cvs up -dP`` (and a
regular ``cvs up`` would probably do fine) right after checkout,
almost all of those Entries.Log files go away. The ones that remain
specifically target emptied/removed directories and have matching
lines like::

    A D/MochiKit////
    R D/MochiKit////

For "add mochikit; remove mochikit".

So the patch might not really be needed..? If I change our release
strategy to the following, then I get all of my package data just fine
in the 0.6c6 release.

    > cvs checkout -d ourlib Frameworks/ourlib
    > cd ourlib
    > cvs update -dP
    > python setup.py bdist_egg

With my patched `sdist.py`, however, I can skip the `update` line and
get the same desired outcome.

-- 
Jeff Shell


More information about the Distutils-SIG mailing list