Skip to content

Commit 4f886e3

Browse files
committed
include markdown docs changes
1 parent a974f84 commit 4f886e3

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

docs/input/docs/reference/configuration.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -628,28 +628,38 @@ Date and time in the format `yyyy-MM-ddTHH:mm:ss` (eg `commits-before:
628628
`commits-before` will be ignored.
629629

630630
#### paths
631+
631632
A sequence of regular expressions that represent paths in the repository. Commits that modify these paths will be excluded from version calculations. For example, to filter out commits that belong to `docs`:
633+
632634
```yaml
633635
ignore:
634636
paths:
635637
- ^docs\/
636638
```
639+
637640
##### *Monorepo*
641+
638642
This ignore config can be used to filter only those commits that belong to a specific project in a monorepo.
639643
As an example, consider a monorepo consisting of subdirectories for `ProjectA`, `ProjectB` and a shared `LibraryC`. For GitVersion to consider only commits that are part of `projectA` and shared library `LibraryC`, a regex that matches all paths except those starting with `ProjectA` or `LibraryC` can be used. Either one of the following configs would filter out `ProjectB`.
644+
640645
* Specific match on `/ProjectB/*`:
646+
641647
```yaml
642648
ignore:
643649
paths:
644650
- `^\/ProductB\/.*`
645651
```
652+
646653
* Negative lookahead on anything other than `/ProjectA/*` and `/LibraryC/*`:
654+
647655
```yaml
648656
ignore:
649657
paths:
650658
- `^(?!\/ProductA\/|\/LibraryC\/).*`
651659
```
660+
652661
A commit having changes only in `/ProjectB/*` path would be ignored. A commit having changes in the following paths wouldn't be ignored:
662+
653663
* `/ProductA/*`
654664
* `/LibraryC/*`
655665
* `/ProductA/*` and `/LibraryC/*`
@@ -658,7 +668,8 @@ A commit having changes only in `/ProjectB/*` path would be ignored. A commit ha
658668
* `/ProductA/*` and `/ProductB/*` and `/LibraryC/*`
659669

660670
:::
661-
Note: The `ignore.paths` configuration is case-sensitive. This can lead to unexpected behavior on case-insensitive file systems, such as Windows. To ensure consistent matching regardless of case, you can prefix your regular expressions with the case-insensitive flag `(?i)`. For example, `(?i)^docs\/` will match both `docs/` and `Docs/`.
671+
Note: The `ignore.paths` configuration is case-sensitive.
672+
This can lead to unexpected behavior on case-insensitive file systems, such as Windows. To ensure consistent matching regardless of case, you can prefix your regular expressions with the case-insensitive flag `(?i)`. For example, `(?i)^docs\/` will match both `docs/` and `Docs/`.
662673
:::
663674

664675
::: {.alert .alert-warning}
@@ -683,7 +694,7 @@ The regular expression should contain the following capture groups:
683694
* `TargetBranch` - Identifies the target branch of the merge
684695
* `PullRequestNumber` - Captures the pull-request number
685696

686-
Custom merge message formats are evaluated _before_ any built in formats.
697+
Custom merge message formats are evaluated *before* any built in formats.
687698
Support for [Conventional Commits][conventional-commits] can be
688699
[configured][conventional-commits-config].
689700

@@ -950,7 +961,7 @@ branches:
950961

951962
Strategy which will look for tagged merge commits directly off the current
952963
branch. For example `develop` → `release/1.0.0` → merge into `main` and tag
953-
`1.0.0`. The tag is _not_ on develop, but develop should be version `1.0.0` now.
964+
`1.0.0`. The tag is *not* on develop, but develop should be version `1.0.0` now.
954965

955966
### track-merge-message
956967

0 commit comments

Comments
 (0)