Blame calculations

Blames are the annotations available when viewing source files or diffs (in both FishEye and Crucible) that allow you to determine who last modified a line of code and in which revision:


Blame calculation

FishEye and Crucible calculate blames from the internal repository cache during indexing time. On rare occasions that may not be possible. In such cases FishEye and Crucible have a mechanism to retrieve blame data directly from the repository, either during indexing time, or when requested by browsing source files and diffs. However, as contacting the repository can be an expensive operation and may noticeably affect indexing time and/or responsiveness, this mechanism is off by default for both cases since 3.10.

Here are the system properties controlling blame calculations; the default values should be appropriate for most cases:

System property Description Available since Default value
fisheye.blame.calc.enable

Controls whether blames are calculated during indexing.
This property is enabled by default. Disabling it means blames are not calculated during indexing and will be missing (or could optionally be retrieved at request time).

Note that blame calculation during indexing is disabled if the Store Diff Info setting is disabled. See Store diff info.

  true
fisheye.blame.scm.fallback.enable

Controls whether blame data is retrieved from the SCM during indexing (when blame couldn't be based on ancestors).
This property is disabled by default to avoid performance overhead. This means some indexes may lack blames. In such cases, the blames can either be fetched from SCM at request time (if

fisheye.enable.request.blame.calculation

=true) or they will be missing from the source file and diff views.
Enabling this property means SCM will be contacted (possibly multiple times) during indexing. This increases the indexing time, but ensures all blames are readily available at request time.

3.10.0 false
fisheye.enable.request.blame.calculation

Controls whether users can request blame data from the SCM when viewing the file or diff (when blame couldn't be calculated or retrieved during indexing).
This property is disabled by default. Enabling it means for all missing blames FishEye and Crucible will retrieve blames from the repository at request time.

3.9.2 true

Missing blame

When blame data is not available, the Author and Revision columns display "n/a" like this:


Blames may be not available:

  • When indexing of a particular revision has not yet completed. This is a temporary state and blames should appear when indexing has finished.
  • When the blame calculation failed during indexing and the fisheye.enable.request.blame.calculation is set to false (the default value).
  • If the repository configuration property Store Diff Info setting is disabled. See Store diff info.
  • In patch files uploaded to the review. See Creating patch files for pre-commit reviews

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport