Skip to content

Commit 75ea9c0

Browse files
authored
feat: Enable setting default --merge-base-with values
* feat: You can now specify a default value for the parameter in the .lintrunner.toml file. To do so, add a line to the top in the form . Generally you'll set that to either or , depending on how your repo is setup. * Switch to option * Doc updates * fix * lint fixes
1 parent 507d273 commit 75ea9c0

File tree

5 files changed

+17
-0
lines changed

5 files changed

+17
-0
lines changed

.lintrunner.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
merge_base_with="main"
2+
13
[[linter]]
24
code = 'RUSTFMT'
35
include_patterns = ['**/*.rs']

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ file, conventionally named `.lintrunner.toml`.
8282
Here is an example linter configuration:
8383

8484
```toml
85+
merge_base_with = 'main'
86+
8587
[[linter]]
8688
name = 'FLAKE8'
8789
include_patterns = [

src/lint_config.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ use serde::{Deserialize, Serialize};
1010
pub struct LintRunnerConfig {
1111
#[serde(rename = "linter")]
1212
pub linters: Vec<LintConfig>,
13+
14+
/// The default value for the `merge_base_with` parameter.
15+
/// Recommend setting this is set to your default branch, e.g. `main`
16+
#[serde()]
17+
pub merge_base_with: Option<String>,
1318
}
1419

1520
fn is_false(b: &bool) -> bool {

src/main.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,13 @@ fn do_main() -> Result<i32> {
212212
RevisionOpt::Revision(revision)
213213
} else if let Some(merge_base_with) = args.merge_base_with {
214214
RevisionOpt::MergeBaseWith(merge_base_with)
215+
} else if lint_runner_config.merge_base_with.is_some() {
216+
RevisionOpt::MergeBaseWith(
217+
lint_runner_config
218+
.merge_base_with
219+
.clone()
220+
.expect("Merge base should be defined"),
221+
)
215222
} else {
216223
RevisionOpt::Head
217224
};

tests/integration_test.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ fn temp_config_returning_msg(lint_message: LintMessage) -> Result<tempfile::Name
4747
let serialized = serde_json::to_string(&lint_message)?;
4848
let config = temp_config(&format!(
4949
"\
50+
merge_base = \"some_base\"
5051
[[linter]]
5152
code = 'TESTLINTER'
5253
include_patterns = ['**']

0 commit comments

Comments
 (0)