> -----Original Message-----
> From: Gon Solo <gons...@gmail.com>
> It's a known problem:
> https://github.com/gitpython-developers/GitPython/issues/2003
> https://github.com/python/cpython/issues/118761#issuecomment-2661504264
> 

For what it's worth, I've always been a bit skeptical of the use of the python 
git module
in spdxcheck.py.  Its use makes it impossible to use spdxcheck on a kernel 
source tree
from a tarball (ie, on source not inside a git repo).  Also, from what I can 
see in spdxcheck.py,
the way it's used is just to get the top directories for either the LICENSES 
dir,
the top dir of the kernel source tree, or the directory to scan passed on the
spdxcheck.py command line, and then to use the repo.traverse() function on said 
directory.

This ends up excluding any files in the source directory tree that are not 
checked
into git yet, silently skipping them (which I've run into before when using the 
tool).

I think the code could be relatively easily refactored to eliminate the use of 
the git
module, to overcome these issues.  I'm not sure if removing the module would
eliminate the yield operation (used inside repo.traverse()), which seems to be 
causing the
problem found here.  IMHO, in my experience when using python it is helpful
to use as few non-core modules as possible, because they tend to break like this
occasionally.

Let me know if anyone objects to me working up a refactoring of spdxcheck.py
eliminating the use of the python 'git' module, and submitting it for review.

Thanks,
 -- Tim

Reply via email to