diff --git a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultCacheCleanupService.java b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultCacheCleanupService.java index 6e67876dc4..367bb049e5 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/update/DefaultCacheCleanupService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/update/DefaultCacheCleanupService.java @@ -78,6 +78,10 @@ public class DefaultCacheCleanupService implements CacheCleanupService { clearCacheByName("assets"); clearCacheByName("repositorySettings"); break; + case "3.4.2": + log.info("Clearing cache to upgrade from version 3.4.2 to 3.4.3 ..."); + clearCacheByName("repositorySettings"); + break; default: //Do nothing, since cache cleanup is optional. } diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/RepositorySettings.java b/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/RepositorySettings.java index 4d39377218..f8f8e5c104 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/RepositorySettings.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/sync/vc/RepositorySettings.java @@ -32,6 +32,7 @@ public class RepositorySettings implements Serializable { private String privateKeyPassword; private String defaultBranch; private boolean readOnly; + private boolean showMergeCommits; public RepositorySettings() { } @@ -46,5 +47,6 @@ public class RepositorySettings implements Serializable { this.privateKeyPassword = settings.getPrivateKeyPassword(); this.defaultBranch = settings.getDefaultBranch(); this.readOnly = settings.isReadOnly(); + this.showMergeCommits = settings.isShowMergeCommits(); } } diff --git a/common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/GitRepository.java b/common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/GitRepository.java index 4c0dae4a12..4bfca630ba 100644 --- a/common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/GitRepository.java +++ b/common/version-control/src/main/java/org/thingsboard/server/service/sync/vc/GitRepository.java @@ -197,12 +197,7 @@ public class GitRepository { LogCommand command = git.log() .add(branchId); - if (StringUtils.isNotEmpty(pageLink.getTextSearch())) { - command.setRevFilter(new NoMergesAndCommitMessageFilter(pageLink.getTextSearch())); - } else { - command.setRevFilter(RevFilter.NO_MERGES); - } - + command.setRevFilter(new CommitFilter(pageLink.getTextSearch(), settings.isShowMergeCommits())); if (StringUtils.isNotEmpty(path)) { command.addPath(path); } @@ -478,17 +473,20 @@ public class GitRepository { } } - private static class NoMergesAndCommitMessageFilter extends RevFilter { + private static class CommitFilter extends RevFilter { private final String textSearch; + private final boolean showMergeCommits; - NoMergesAndCommitMessageFilter(String textSearch) { + CommitFilter(String textSearch, boolean showMergeCommits) { this.textSearch = textSearch.toLowerCase(); + this.showMergeCommits = showMergeCommits; } @Override public boolean include(RevWalk walker, RevCommit c) { - return c.getParentCount() < 2 && c.getFullMessage().toLowerCase().contains(this.textSearch); + return (showMergeCommits || c.getParentCount() < 2) && (StringUtils.isEmpty(textSearch) + || c.getFullMessage().toLowerCase().contains(textSearch)); } @Override @@ -501,10 +499,6 @@ public class GitRepository { return false; } - @Override - public String toString() { - return "NO_MERGES_AND_COMMIT_MESSAGE"; - } } @Data diff --git a/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.html b/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.html index 40d301dd13..73904c54ed 100644 --- a/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.html +++ b/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.html @@ -44,6 +44,11 @@ {{ 'admin.repository-read-only' | translate }} +
+ + {{ 'admin.show-merge-commits' | translate }} + +
admin.authentication-settings diff --git a/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.ts b/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.ts index 1bb1487f0a..1270acf150 100644 --- a/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.ts +++ b/ui-ngx/src/app/modules/home/components/vc/repository-settings.component.ts @@ -75,6 +75,7 @@ export class RepositorySettingsComponent extends PageComponent implements OnInit repositoryUri: [null, [Validators.required]], defaultBranch: ['main', []], readOnly: [false, []], + showMergeCommits: [false, []], authMethod: [RepositoryAuthMethod.USERNAME_PASSWORD, [Validators.required]], username: [null, []], password: [null, []], diff --git a/ui-ngx/src/app/shared/models/settings.models.ts b/ui-ngx/src/app/shared/models/settings.models.ts index 8ecb4066f1..256c13cbf5 100644 --- a/ui-ngx/src/app/shared/models/settings.models.ts +++ b/ui-ngx/src/app/shared/models/settings.models.ts @@ -418,6 +418,7 @@ export const repositoryAuthMethodTranslationMap = new Map