Ticket #3141 (closed defect: duplicate)

Opened 5 years ago

submodule handling

Reported by: Assigned to: anonymous hvr normal GitPlugin normal submodule 0.11

Description

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


to

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


to

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.

Change History

(in reply to: ↑ description ) 06/07/08 16:43:16 changed by anonymous

• keywords set to submodule.

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 }}} to {{{ 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 }}} to {{{ 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.

08/17/08 12:02:46 changed by anonymous

• status changed from new to closed.
• resolution set to duplicate.

01/05/10 21:37:13 changed by anonymous

Does anyone know why this was closed as duplicate? Applying the diff from 3104 doesn't fix the issue above, though it does address a different issue with submodules.