|Reported by:||anonymous||Owned by:||hvr|
the code breaks at some places in git_fs, on commits having submodule changes. the first one i found is get_content_length returning None, and then trac trying to sum Nones. a quick workaround is changing
if not self.isfile: return None
if not self.isfile: return 0
the second is in get_changes. submodule changes have a different mode than directory changes, so they end up with kind = file, and trac tries to read the content. my workaround is changing the condition
if mode2.startswith('04') or mode1.startswith('04'): kind = Node.DIRECTORY
if mode2.startswith('04') or mode1.startswith('04') or mode1.startswith('16'): kind = Node.DIRECTORY
so these changes are treated like directory changes.
these are just some quick hacks, but they make the plugin usable on repos with submodules, until there's a better solution.