• Stan Hu's avatar
    Fix SystemStackError when Peek bar is active with Rugged calls · 7a5c4cd0
    Stan Hu authored
    Peek attempts to serialize results with `to_json`, which calls
    `ActiveSupport::JSON`. If an object is passed to `to_json` that contains
    instance variables, `ActiveSupport` will attempt to recursively traverse
    all variables.
    
    The problem is that we can get into an infinite loop if the instance
    references to an instance that references to something else that points
    back to the same instance.
    
    To avoid this mess, we just call `to_s` on the object. It appears only
    `Gitlab::Git::Repository` and `::Repository` are the culprits here.
    
    Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65404
    7a5c4cd0
rugged_spec.rb 1.4 KB