BigW Consortium Gitlab

Skip to content
  • Sean McGivern's avatar
    528b5eeb
    Fix error when viewing diffs without blobs · 528b5eeb
    Sean McGivern authored
    Old merge requests can have diffs without corresponding blobs. (This also may be
    possible for commit diffs in corrupt repositories.)
    
    We can't use the `&.` operator on the blobs, because the blob objects are never
    nil, but `BatchLoader` instances that delegate to `Blob`. We can't use
    `Object#try`, because `Blob` doesn't inherit from `Object`.
    
    `BatchLoader` provides a `__sync` method that returns the delegated object, but
    using `itself` also works because it's forwarded, and will work for
    non-`BatchLoader` instances too. So the simplest solution is to just use that
    with the `&.` operator.
    528b5eeb
    Fix error when viewing diffs without blobs
    Sean McGivern authored
    Old merge requests can have diffs without corresponding blobs. (This also may be
    possible for commit diffs in corrupt repositories.)
    
    We can't use the `&.` operator on the blobs, because the blob objects are never
    nil, but `BatchLoader` instances that delegate to `Blob`. We can't use
    `Object#try`, because `Blob` doesn't inherit from `Object`.
    
    `BatchLoader` provides a `__sync` method that returns the delegated object, but
    using `itself` also works because it's forwarded, and will work for
    non-`BatchLoader` instances too. So the simplest solution is to just use that
    with the `&.` operator.
Loading