Workspace file
reqseq-workspace.yaml in the root of the main repository (D-041, SR-004). Names the repositories that belong together. Everyone has locally only those they may access; missing ones are shown as not available (N-041, SR-004 AK3). A single-repository workspace lists only itself (SR-004 AK2).
Fields
Section titled “Fields”| Field | Type | Required | Description |
|---|---|---|---|
reqseq-workspace |
1 |
yes | |
name |
string |
yes | |
repositories |
array of repository |
yes | The entry with main: true is the repository that holds this file. With two or more repositories exactly one has main: true; a single repository is the main one even without it. Names are unique (checked by ReqSeq; JSON Schema cannot express it). |
metamodel |
location |
yes | Where the metamodel lies: a folder in one of the repositories, the main one or its own (D-021, SR-011, SR-018). |
evidence |
array of location |
no | Folders with evidence records (Markdown) and JUnit XML files (SR-028 AK1). They may be in repositories of other tools. |
baselines |
location |
no | Where new baseline files are written. Default: folder baselines in the main repository. |
filters |
location |
no | Where saved filters are written (SR-070). Default: folder filters in the main repository. |
mappings |
location |
no | Where ReqIF mapping files are written (SR-054). Default: folder reqif in the main repository. |
ignore |
array of string |
no | Glob patterns of paths that are never read as elements, relative to each repository and anchored at its root, with / as separator (no \, no //). * matches any characters within one name, ? one character, ** as a whole name any number of names, including none; every other character is literal (no [...], no {a,b}). Case-sensitive on every OS; wildcards match names starting with .. A leading / or ./ and a trailing / are dropped; x/** matches folder x itself, so it is skipped as a whole. Example: website/**, **/*.draft.md. .git and node_modules are always ignored. |
Definitions
Section titled “Definitions”repository
Section titled “repository”Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | |
url |
string |
yes | Address of the repository on the Git server. Informational: ReqSeq never clones or fetches (D-036). |
path |
string |
no | Expected local location relative to the main repository, with / as separator. Default ../<name>; always . for the main repository. Absolute paths and \ are warned about (an absolute path is ignored); there is no ~ expansion. A person can override it in the untracked file .reqseq/local.yaml. |
main |
boolean |
no | Default: false. |
mainRepository
Section titled “mainRepository”Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
main |
true |
yes |
location
Section titled “location”Type: object.
| Field | Type | Required | Description |
|---|---|---|---|
repository |
string |
yes | |
path |
relativePath |
yes | Path relative to the repository or file it appears in, forward slashes, no .. segments. |
Examples
Section titled “Examples”reqseq-workspace.yaml
Section titled “reqseq-workspace.yaml”reqseq-workspace: 1name: Weather stationrepositories: - { name: system, url: "git@git.example.com:ws/system.git", path: ".", main: true } - { name: metamodel, url: "git@git.example.com:ws/metamodel.git" } - { name: subsystem-sensor, url: "git@git.example.com:ws/subsystem-sensor.git" } - { name: confidential, url: "git@git.example.com:ws/confidential.git" }metamodel: { repository: metamodel, path: model }evidence: - { repository: system, path: evidence } - { repository: subsystem-sensor, path: test-results }baselines: { repository: system, path: baselines }filters: { repository: system, path: filters }mappings: { repository: system, path: reqif }ignore: ["docs/**"]