Shadow

Shadow repository for otherwise untracked files

This VCS integration can be used to track files that are generated during the build and not otherwise present in the other configured VCS. This is required to see source code in the dashboard and be able to track issues when they are moving inside the generated files.

Internally, this VCS is implemented using Fossil.

Options

The following places define options that affect this rule: VCSIntegration, Project-GlobalOptions

binary

binary : str | None = None

Fossil command-line binary to use. If unset, the fossil binary of the AxivionSuite installation will be used. If you override the default, your fossil binary is expected to be accessible via PATH or otherwise you have to specify an appropriate absolute path here which works for both, CI and Dashboard.
 

blame_mode

blame_mode : BlameMode = 'all_authors'

If set to last_author_only, issues for code regions are only attributed to the author of the latest changes in that region. Otherwise, all authors of that code region are considered responsible.
 

encoding

encoding : str = 'utf-8'

Encoding of files in the local workspace
 

exclude_globbings

exclude_globbings : set[bauhaus.analysis.config.FileGlobPattern] = set()

Globbing patterns of files to exclude in the shadow repository (exclude has priority over include).
 

file_owner

file_owner : str = '__none__'

The user that will get associated with all annotate/blame information of shadow repository files (unless file_owner_callback script is provided and is returning a non-empty response for a specific filename.
 

file_owner_callback

file_owner_callback : bauhaus.analysis.config.LayerRelativePath | None = None

Optional script being called with a working copy relative filename, returning a one-line response containing the original author of a generated file. This is used as the author when committing generated file(s) to the shadow repository.
 

include_globbings

include_globbings

Type: set[bauhaus.analysis.config.FileGlobPattern]

Default: {'*.[ch]', '*.[ch]++', '*.[ch]pp', '*.[ch]xx', '*.cc', '*.cs', '*.cu', '*.cuh', '*.hh', '*.qml'}

Globbing patterns of files to include in the shadow repository.
 

rootpath

rootpath : bauhaus.analysis.config.ProjectRelativePath = '.'

Repository root for this VCS instance. If more than one VCS rule is activated, all their rootpath options have to be set differently. The value of rootpath must not be outside of /Project/directory for source code to be visible in the dashboard and for local_mode to work correctly.
 

shadow_directory

shadow_directory : bauhaus.analysis.config.ProjectRelativePath | None = None

Directory to keep master shadow repository.

If /Results/Dashboard/database_mode is set to managed_upload, this will only be used for migration purposes and the master shadow repository will reside on the dashboard server.

If you set up a new project with database_mode set to managed_upload mode and a ShadowVCS, you can leave this option unset.

 

skip_blame

skip_blame : bool = False

Does not run blame operations with this VCS if this option is set to true.
 

sourceserver_remote_url

sourceserver_remote_url : str | None = None

Remote fossil shadow repository for the sourceserver to initially clone from (configure to empty if you do not want to automatically clone the shadow repository initially, e.g. if the dashboard runs on the same machine that holds the original shadow repository).
 

sourceserver_repository

sourceserver_repository : str | None = None

Shadow repository clone (shadow.fossil file), accessible from the dashboard sourcecode server.

Any relative path (which is recommended) will be interpreted relative to the dashboard's configuration subfolder repositories.

Any absolute path will stay absolute unless you set ForceRelativeRepositoryPath to true inside dashboard2.config in which case absolute paths are also forced to be interpreted relative to the dashboard's configuration subfolder repositories.

If analysis and dashboard are running on the same machine, you can choose a path beneath your dashboard configuration folder as shadow_directory and leave this option empty.

This option is unnecessary if /Results/Dashboard/database_mode is set to managed_upload.

 

Option Types

These types are used by options listed above:

BlameMode

Enumeration of possible blame approaches for code regions.
 

all_authors

All authors of a code region are considered responsible.

last_author_only

Attribute issues only to the author of the latest change in the code region.