fsfe / reuse-docs

REUSE recommendations, tutorials, FAQ and specification
https://reuse.software
19 stars 20 forks source link

Bug ValueError and recurrence when using git worktree inside ignored folder #59

Closed amerlyq closed 4 years ago

amerlyq commented 4 years ago

Reproduction with git=2.25.1

mkdir loop
cd loop
git init
r.git-my-repo -m
touch README
echo '_*/' > .gitignore
git add --all
git commit -m 'init'
git branch fea
git worktree add _fea fea
reuse lint

Results in

Traceback (most recent call last):
  File "/usr/bin/reuse", line 11, in <module>
    load_entry_point('reuse==0.8.1', 'console_scripts', 'reuse')()
  File "/usr/lib/python3.8/site-packages/reuse/_main.py", line 250, in main
    return parsed_args.func(parsed_args, project, out)
  File "/usr/lib/python3.8/site-packages/reuse/lint.py", line 332, in run
    report = ProjectReport.generate(
  File "/usr/lib/python3.8/site-packages/reuse/report.py", line 195, in generate
    results = pool.map(container, project.all_files())
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 364, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 475, in _map_async
    iterable = list(iterable)
  File "/usr/lib/python3.8/site-packages/reuse/project.py", line 102, in all_files
    dirs.remove(dir_)
ValueError: list.remove(x): x not in list

^CProcess ForkPoolWorker-4:
Process ForkPoolWorker-8:
Process ForkPoolWorker-3:
Process ForkPoolWorker-7:
Process ForkPoolWorker-5:
Process ForkPoolWorker-6:
Process ForkPoolWorker-2:
Traceback (most recent call last):
  File "/usr/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/usr/lib/python3.8/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.8/multiprocessing/pool.py", line 114, in worker
    task = get()
  File "/usr/lib/python3.8/multiprocessing/queues.py", line 355, in get
    with self._rlock:
Process ForkPoolWorker-1:
Traceback (most recent call last):
Error in atexit._run_exitfuncs:
Traceback (most recent call last):

... (and-long-long-tail)
amerlyq commented 4 years ago

Sorry, was sleepy and opened issue in the wrong repo. Moved to appropriate place: fsfe/reuse-tool#203