Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork941
Description
Here's how it looks:
Traceback (most recent call last):
[...]
File "/go/ems/emsppi/dev/plspu/git_release_import/git_release_import.py", line 914, in import_patch
self.repo.index.add(files_to_add, fprogress=fprogress)
File "/go/ems/emsppi/dev/plspu/git_release_import/ext/git/index/base.py", line 726, in add
entries_added.extend(self._entries_for_paths(paths, path_rewriter, fprogress, entries))
File "/go/ems/emsppi/dev/plspu/git_release_import/ext/git/util.py", line 54, in wrapper
return func(self, _args, *_kwargs)
File "/go/ems/emsppi/dev/plspu/git_release_import/ext/git/index/util.py", line 84, in set_git_working_dir
return func(self, _args, *_kwargs)
File "/go/ems/emsppi/dev/plspu/git_release_import/ext/git/index/base.py", line 611, in _entries_for_paths
for filepath in self._iter_expand_paths(paths):
File "/go/ems/emsppi/dev/plspu/git_release_import/ext/git/index/base.py", line 372, in _iter_expand_paths
for f in self._iter_expand_paths(glob.glob(abs_path)):
[...]
File "/go/ems/emsppi/dev/plspu/git_release_import/ext/git/index/base.py", line 372, in _iter_expand_paths
for f in self._iter_expand_paths(glob.glob(abs_path)):
File "/gow/ems/emsppi/local/lib/python2.7/glob.py", line 27, in glob
return list(iglob(pathname))
File "/gow/ems/emsppi/local/lib/python2.7/glob.py", line 64, in iglob
for name in glob_in_dir(dirname, basename):
File "/gow/ems/emsppi/local/lib/python2.7/glob.py", line 82, in glob1
names = filter(lambda x: x[0] != '.', names)
File "/gow/ems/emsppi/local/lib/python2.7/glob.py", line 82, in
names = filter(lambda x: x[0] != '.', names)
RuntimeError: maximum recursion depth exceeded in cmpthe files being added contained a file "[.exe" amongs them
Amongst thefiles_to_add
there was a file called[.exe
which I believe was the cause of the problem.
Below I attach a patch toindex/base.py
which is a proposal to resolve the issue and which fixed the problem for me.
--- a/git/index/base.py+++ b/git/index/base.py@@ -369,9 +369,17 @@ class IndexFile(LazyMixin, diff.Diffable, Serializable): # resolve globs if possible if '?' in path or '*' in path or '[' in path:- for f in self._iter_expand_paths(glob.glob(abs_path)):- yield f.replace(rs, '')- continue+ resolved_paths = glob.glob(abs_path)+ # not abs_path in resolved_paths:+ # A glob() resolving to the same path we are feeding it with+ # is a glob() that failed to resolve. If we continued calling+ # ourselves we'd endlessly recurse. If the condition below+ # evaluates to true then we are likely dealing with a file+ # whose name contains wildcard characters.+ if not abs_path in resolved_paths:+ for f in self._iter_expand_paths(glob.glob(abs_path)):+ yield f.replace(rs, '')+ continue # END glob handling try: for root, dirs, files in os.walk(abs_path, onerror=raise_exc):
I am using GitPython v1.0.1.