RFR: 1690: Make jcheck cli able to use conf from workspace or other commit

Zhao Song zsong at openjdk.org
Tue Nov 29 20:37:17 UTC 2022


On Tue, 29 Nov 2022 18:24:50 GMT, Zhao Song <zsong at openjdk.org> wrote:

> Currently, the command `git skara jcheck` can only use the `.jcheck/conf` configuration file in the current checking commit.
> However, sometimes users want to run jcheck with different configurations to validate their commits. Therefore, we need to upgrade `git skara jcheck`.
> 
> In this patch, `git skara jcheck` would be able to support following usecases.
> 
> 1. Run jcheck on a commit or a series of commits using the .jcheck/conf in the same commit. (what we do by default today)
> `git skara jcheck`
> 
> 2. Run jcheck on a commit or a series of commits using the .jcheck/conf in a different specified commit. 
> `git skara jcheck --specified-conf-commit <COMMIT HASH>`
> 
> 3. Run jcheck on a commit or a series of commits using the .jcheck/conf in my workspace. 
> `git skara jcheck --workspace-conf`
> 
> 4. Run jcheck on a commit or a series of commits using a config file that I point to directly, that may have any name. 
> `git skara jcheck --workspace-conf --conf-file <FILENAME>`
> 
> 5. Run jcheck on the diff in my current workspace, either --staged or not using the .jcheck/conf in my workspace.
> `git skara jcheck --workspace-diff`

jcheck/src/main/java/org/openjdk/skara/jcheck/JCheck.java line 272:

> 270:             parseConfiguration(repository, head, List.of());
> 271:         var branchRegex = conf.isPresent() ? conf.get().repository().branches() : ".*";
> 272:         var tagRegex = conf.isPresent() ? conf.get().repository().tags() : ".*";

I also wonder the logic of choosing jcheck configuration for repository check.

-------------

PR: https://git.openjdk.org/skara/pull/1428


More information about the skara-dev mailing list