From 92390ce0d23921e83cde6ddf1b118dac7f1db01d Mon Sep 17 00:00:00 2001 From: Rene Pfeuffer Date: Fri, 12 May 2023 13:12:40 +0200 Subject: [PATCH 1/3] Fix default branch in git mirror command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The git mirror command did not set the default branch correctly in all cases. If the source repository contained a 'master' branch, no default branch was set. This led to an error in the refresh process, when globally another branch has been configured as dafault (when not changed, this is 'main'), because the working copy should be created with the main branch checked out. Because no default was specified, the globally configured default (by default 'main') had been taken and that branch does not exist in the mirror. So all subsequent mirror updates failed with a message like this one: could not find branch with id main in repository with id ... With this fix, the default branch is always set in the SCM-Manager configuration for the repository and therefore cannot be missing in subsequent updates. Committed-by: Konstantin Schaper Co-authored-by: René Pfeuffer --- gradle/changelog/mirror_default_branch.yaml | 2 + .../scm/repository/spi/GitMirrorCommand.java | 38 ++++++++++------ .../repository/spi/GitMirrorCommandTest.java | 41 ++++++++++-------- .../spi/scm-git-spi-mirror-test.zip | Bin 0 -> 48593 bytes 4 files changed, 51 insertions(+), 30 deletions(-) create mode 100644 gradle/changelog/mirror_default_branch.yaml create mode 100644 scm-plugins/scm-git-plugin/src/test/resources/sonia/scm/repository/spi/scm-git-spi-mirror-test.zip diff --git a/gradle/changelog/mirror_default_branch.yaml b/gradle/changelog/mirror_default_branch.yaml new file mode 100644 index 0000000000..5d2a3e9847 --- /dev/null +++ b/gradle/changelog/mirror_default_branch.yaml @@ -0,0 +1,2 @@ +- type: fixed + description: Configuration of default branch in the git mirror command diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMirrorCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMirrorCommand.java index 35409eb32d..78015c1962 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMirrorCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMirrorCommand.java @@ -26,6 +26,7 @@ package sonia.scm.repository.spi; import com.google.common.base.Stopwatch; import com.google.common.base.Strings; +import org.apache.commons.lang.StringUtils; import org.eclipse.jgit.api.FetchCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; @@ -214,7 +215,9 @@ public class GitMirrorCommand extends AbstractGitCommand implements MirrorComman return new MirrorCommandResult(result, mirrorLog, stopwatch.stop().elapsed(), lfsUpdateResult); } - defaultBranchSelector.newDefaultBranch().ifPresent(this::setNewDefaultBranch); + String currentDefaultBranchInRepository = getCurrentDefaultBranch(); + defaultBranchSelector.newDefaultBranch(currentDefaultBranchInRepository) + .ifPresent(this::setNewDefaultBranch); String[] pushRefSpecs = generatePushRefSpecs().toArray(new String[0]); forcePush(pushRefSpecs); @@ -223,17 +226,18 @@ public class GitMirrorCommand extends AbstractGitCommand implements MirrorComman } private void setNewDefaultBranch(String newDefaultBranch) { - mirrorLog.add("Old default branch deleted. Setting default branch to '" + newDefaultBranch + "'."); - try { - String oldBranch = git.getRepository().getBranch(); - RefUpdate refUpdate = git.getRepository().getRefDatabase().newUpdate(Constants.HEAD, true); - refUpdate.setForceUpdate(true); - RefUpdate.Result result = refUpdate.link(Constants.R_HEADS + newDefaultBranch); - if (result != RefUpdate.Result.FORCED) { - throw new InternalRepositoryException(getRepository(), "Could not set HEAD to new default branch"); + String oldBranch = getCurrentDefaultBranch(); + if (!StringUtils.equals(oldBranch, newDefaultBranch)) { + mirrorLog.add("Old default branch deleted. Setting default branch to '" + newDefaultBranch + "'."); + RefUpdate refUpdate = git.getRepository().getRefDatabase().newUpdate(Constants.HEAD, true); + refUpdate.setForceUpdate(true); + RefUpdate.Result result = refUpdate.link(Constants.R_HEADS + newDefaultBranch); + if (result != RefUpdate.Result.FORCED) { + throw new InternalRepositoryException(getRepository(), "Could not set HEAD to new default branch"); + } + git.branchDelete().setBranchNames(oldBranch).setForce(true).call(); } - git.branchDelete().setBranchNames(oldBranch).setForce(true).call(); } catch (GitAPIException | IOException e) { throw new InternalRepositoryException(getRepository(), "Error while switching branch to change default branch", e); } @@ -242,6 +246,14 @@ public class GitMirrorCommand extends AbstractGitCommand implements MirrorComman storeProvider.setDefaultBranch(repository, newDefaultBranch); } + private String getCurrentDefaultBranch() { + try { + return git.getRepository().getBranch(); + } catch (IOException e) { + return null; + } + } + private Collection generatePushRefSpecs() { Collection refSpecs = new ArrayList<>(); refSpecs.add("refs/heads/*:refs/heads/*"); @@ -759,9 +771,9 @@ public class GitMirrorCommand extends AbstractGitCommand implements MirrorComman return changed; } - public Optional newDefaultBranch() { - if (initialDefaultBranch == null && newBranches.contains("master") || remainingBranches.contains(initialDefaultBranch)) { - return empty(); + public Optional newDefaultBranch(String currentDefaultBranchInRepository) { + if (initialDefaultBranch == null && newBranches.contains(currentDefaultBranchInRepository) || remainingBranches.contains(initialDefaultBranch)) { + return of(currentDefaultBranchInRepository); } else if (!newBranches.isEmpty() && initialBranches.isEmpty()) { return of(newBranches.iterator().next()); } else if (initialDefaultBranch == null && newBranches.isEmpty()) { diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitMirrorCommandTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitMirrorCommandTest.java index 536d608779..e73369b1df 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitMirrorCommandTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitMirrorCommandTest.java @@ -78,6 +78,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static sonia.scm.repository.api.MirrorCommandResult.ResultType.FAILED; import static sonia.scm.repository.api.MirrorCommandResult.ResultType.OK; @@ -165,7 +166,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { @Test public void shouldAcceptEmptyInitialMirror() throws IOException, GitAPIException { - MirrorCommandResult result = callMirrorCommand(repositoryDirectory.getAbsolutePath(), c -> { + MirrorCommandResult result = callMirrorCommand(repositoryDirectory.getAbsolutePath(), c -> c.setFilter(new MirrorFilter() { @Override public Filter getFilter(FilterContext context) { @@ -181,8 +182,8 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { } }; } - }); - }); + }) + ); assertThat(result.getResult()).isEqualTo(REJECTED_UPDATES); assertThat(result.getLog()).contains("Branches:") @@ -200,7 +201,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { @Test public void shouldAcceptOnlyTagInInitialMirror() { assertThrows(IllegalStateException.class, () -> - callMirrorCommand(repositoryDirectory.getAbsolutePath(), c -> { + callMirrorCommand(repositoryDirectory.getAbsolutePath(), c -> c.setFilter(new MirrorFilter() { @Override public Filter getFilter(FilterContext context) { @@ -211,13 +212,13 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { } }; } - }); - })); + }) + )); } @Test public void shouldFilterMasterBranchWhenFilteredOnInitialMirror() throws IOException, GitAPIException { - MirrorCommandResult result = callMirrorCommand(repositoryDirectory.getAbsolutePath(), c -> { + MirrorCommandResult result = callMirrorCommand(repositoryDirectory.getAbsolutePath(), c -> c.setFilter(new MirrorFilter() { @Override public Filter getFilter(FilterContext context) { @@ -232,8 +233,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { } }; } - }); - }); + })); assertThat(result.getResult()).isEqualTo(REJECTED_UPDATES); assertThat(result.getLog()) @@ -808,6 +808,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { @Test public void shouldSelectNewHeadIfOldHeadIsDeleted() throws IOException, GitAPIException { callMirrorCommand(); + reset(storeProvider); try (Git updatedSource = Git.open(repositoryDirectory)) { updatedSource.checkout().setName("test-branch").call(); @@ -879,7 +880,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.accepted(BRANCH, "master"); selector.accepted(BRANCH, "something"); - assertThat(selector.newDefaultBranch()).isEmpty(); + assertThat(selector.newDefaultBranch("master")).get().isEqualTo("master"); } @Test @@ -890,7 +891,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.accepted(BRANCH, "new"); selector.deleted(BRANCH, "two"); - assertThat(selector.newDefaultBranch()).isEmpty(); + assertThat(selector.newDefaultBranch("master")).get().isEqualTo("master"); } @Test @@ -900,7 +901,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.deleted(BRANCH, "master"); - assertThat(selector.newDefaultBranch()).get().isIn("one", "two", "three"); + assertThat(selector.newDefaultBranch("master")).get().isIn("one", "two", "three"); } @Test @@ -912,7 +913,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.deleted(BRANCH, "one"); selector.deleted(BRANCH, "three"); - assertThat(selector.newDefaultBranch()).get().isEqualTo("two"); + assertThat(selector.newDefaultBranch("master")).get().isEqualTo("two"); } @Test @@ -924,7 +925,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.deleted(BRANCH, "one"); selector.deleted(BRANCH, "three"); - assertThat(selector.newDefaultBranch()).get().isEqualTo("two"); + assertThat(selector.newDefaultBranch("master")).get().isEqualTo("two"); } @Test @@ -938,7 +939,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.accepted(BRANCH, "new"); selector.deleted(BRANCH, "three"); - assertThrows(IllegalStateException.class, selector::newDefaultBranch); + assertThrows(IllegalStateException.class, () -> selector.newDefaultBranch("master")); } @Test @@ -949,7 +950,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.accepted(BRANCH, "main"); selector.deleted(BRANCH, "master"); - assertThat(selector.newDefaultBranch()).get().isEqualTo("main"); + assertThat(selector.newDefaultBranch("master")).get().isEqualTo("main"); } @Test @@ -959,7 +960,7 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { selector.accepted(BRANCH, "main"); - assertThat(selector.newDefaultBranch()).get().isEqualTo("main"); + assertThat(selector.newDefaultBranch("master")).get().isEqualTo("main"); } } @@ -1113,4 +1114,10 @@ public class GitMirrorCommandTest extends AbstractGitCommandTestBase { workdirAfterClose = workdir; } } + + @Override + protected String getZippedRepositoryResource() + { + return "sonia/scm/repository/spi/scm-git-spi-mirror-test.zip"; + } } diff --git a/scm-plugins/scm-git-plugin/src/test/resources/sonia/scm/repository/spi/scm-git-spi-mirror-test.zip b/scm-plugins/scm-git-plugin/src/test/resources/sonia/scm/repository/spi/scm-git-spi-mirror-test.zip new file mode 100644 index 0000000000000000000000000000000000000000..ddd9c68a9740266de62f582ff728301bece4da36 GIT binary patch literal 48593 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 Date: Fri, 12 May 2023 13:19:42 +0200 Subject: [PATCH 2/3] Adjust changelog for release 2.43.1 --- CHANGELOG.md | 5 +++++ gradle/changelog/mirror_default_branch.yaml | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) delete mode 100644 gradle/changelog/mirror_default_branch.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 560d12dbb9..7065a5baef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.43.1] - 2023-05-12 +### Fixed +- Configuration of default branch in the git mirror command + ## [2.43.0] - 2023-04-12 ### Added - Extension points for bottom of information table @@ -1262,3 +1266,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [2.42.2]: https://scm-manager.org/download/2.42.2 [2.42.3]: https://scm-manager.org/download/2.42.3 [2.43.0]: https://scm-manager.org/download/2.43.0 +[2.43.1]: https://scm-manager.org/download/2.43.1 diff --git a/gradle/changelog/mirror_default_branch.yaml b/gradle/changelog/mirror_default_branch.yaml deleted file mode 100644 index 5d2a3e9847..0000000000 --- a/gradle/changelog/mirror_default_branch.yaml +++ /dev/null @@ -1,2 +0,0 @@ -- type: fixed - description: Configuration of default branch in the git mirror command From 617f48878a0dc3a5f7396583a3fcd81939adf53b Mon Sep 17 00:00:00 2001 From: CES Marvin Date: Fri, 12 May 2023 11:28:00 +0000 Subject: [PATCH 3/3] Release version 2.43.1 --- gradle.properties | 2 +- scm-plugins/scm-git-plugin/package.json | 4 ++-- scm-plugins/scm-hg-plugin/package.json | 4 ++-- scm-plugins/scm-legacy-plugin/package.json | 4 ++-- scm-plugins/scm-svn-plugin/package.json | 4 ++-- scm-ui/e2e-tests/package.json | 2 +- scm-ui/ui-api/package.json | 4 ++-- scm-ui/ui-buttons/package.json | 6 ++--- scm-ui/ui-components/package.json | 16 ++++++------- scm-ui/ui-extensions/package.json | 4 ++-- scm-ui/ui-forms/package.json | 12 +++++----- scm-ui/ui-legacy/package.json | 8 +++---- scm-ui/ui-modules/package.json | 2 +- scm-ui/ui-overlays/package.json | 4 ++-- scm-ui/ui-plugins/package.json | 16 ++++++------- scm-ui/ui-polyfill/package.json | 2 +- scm-ui/ui-scripts/package.json | 2 +- scm-ui/ui-shortcuts/package.json | 2 +- scm-ui/ui-styles/package.json | 2 +- scm-ui/ui-syntaxhighlighting/package.json | 4 ++-- scm-ui/ui-tests/package.json | 2 +- scm-ui/ui-text/package.json | 2 +- scm-ui/ui-types/package.json | 2 +- scm-ui/ui-webapp/package.json | 26 +++++++++++----------- 24 files changed, 68 insertions(+), 68 deletions(-) diff --git a/gradle.properties b/gradle.properties index 229a6f1b35..39a3dcdd49 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,5 +22,5 @@ # SOFTWARE. # group = sonia.scm -version = 2.43.1-SNAPSHOT +version = 2.43.1 org.gradle.jvmargs=-Xmx1024M diff --git a/scm-plugins/scm-git-plugin/package.json b/scm-plugins/scm-git-plugin/package.json index 64c774e9fb..86f385dd6c 100644 --- a/scm-plugins/scm-git-plugin/package.json +++ b/scm-plugins/scm-git-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@scm-manager/scm-git-plugin", "private": true, - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "main": "./src/main/js/index.ts", "scripts": { @@ -11,7 +11,7 @@ "typecheck": "tsc" }, "dependencies": { - "@scm-manager/ui-plugins": "2.43.1-SNAPSHOT" + "@scm-manager/ui-plugins": "2.43.1" }, "devDependencies": { "@scm-manager/babel-preset": "^2.13.1", diff --git a/scm-plugins/scm-hg-plugin/package.json b/scm-plugins/scm-hg-plugin/package.json index 6304701a1b..d28e22abef 100644 --- a/scm-plugins/scm-hg-plugin/package.json +++ b/scm-plugins/scm-hg-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@scm-manager/scm-hg-plugin", "private": true, - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "main": "./src/main/js/index.ts", "scripts": { @@ -10,7 +10,7 @@ "typecheck": "tsc" }, "dependencies": { - "@scm-manager/ui-plugins": "2.43.1-SNAPSHOT" + "@scm-manager/ui-plugins": "2.43.1" }, "devDependencies": { "@scm-manager/babel-preset": "^2.13.1", diff --git a/scm-plugins/scm-legacy-plugin/package.json b/scm-plugins/scm-legacy-plugin/package.json index 5faee08ffc..9c394d77d8 100644 --- a/scm-plugins/scm-legacy-plugin/package.json +++ b/scm-plugins/scm-legacy-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@scm-manager/scm-legacy-plugin", "private": true, - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "main": "./src/main/js/index.tsx", "scripts": { @@ -10,7 +10,7 @@ "typecheck": "tsc" }, "dependencies": { - "@scm-manager/ui-plugins": "2.43.1-SNAPSHOT" + "@scm-manager/ui-plugins": "2.43.1" }, "devDependencies": { "@scm-manager/babel-preset": "^2.13.1", diff --git a/scm-plugins/scm-svn-plugin/package.json b/scm-plugins/scm-svn-plugin/package.json index bc9953061a..49edefbedb 100644 --- a/scm-plugins/scm-svn-plugin/package.json +++ b/scm-plugins/scm-svn-plugin/package.json @@ -1,7 +1,7 @@ { "name": "@scm-manager/scm-svn-plugin", "private": true, - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "main": "./src/main/js/index.ts", "scripts": { @@ -10,7 +10,7 @@ "typecheck": "tsc" }, "dependencies": { - "@scm-manager/ui-plugins": "2.43.1-SNAPSHOT" + "@scm-manager/ui-plugins": "2.43.1" }, "devDependencies": { "@scm-manager/babel-preset": "^2.13.1", diff --git a/scm-ui/e2e-tests/package.json b/scm-ui/e2e-tests/package.json index d247a93950..460100cd2c 100644 --- a/scm-ui/e2e-tests/package.json +++ b/scm-ui/e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/e2e-tests", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "End to end Tests for SCM-Manager", "main": "index.js", "author": "Eduard Heimbuch ", diff --git a/scm-ui/ui-api/package.json b/scm-ui/ui-api/package.json index ec4d623136..abaa854ff3 100644 --- a/scm-ui/ui-api/package.json +++ b/scm-ui/ui-api/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-api", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "React hook api for the SCM-Manager backend", "main": "build/index.js", "module": "build/index.mjs", @@ -29,7 +29,7 @@ "tsup": "^5.12.6" }, "dependencies": { - "@scm-manager/ui-types": "2.43.1-SNAPSHOT", + "@scm-manager/ui-types": "2.43.1", "fetch-mock-jest": "^1.5.1", "gitdiff-parser": "^0.2.2", "query-string": "6.14.1", diff --git a/scm-ui/ui-buttons/package.json b/scm-ui/ui-buttons/package.json index dac5d94269..f040826a26 100644 --- a/scm-ui/ui-buttons/package.json +++ b/scm-ui/ui-buttons/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-buttons", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "private": false, "main": "build/index.js", "module": "build/index.mjs", @@ -24,11 +24,11 @@ "react-dom": "^17.0.1", "react-router-dom": "^5.3.1", "classnames": "^2.2.6", - "@scm-manager/ui-components": "2.43.1-SNAPSHOT" + "@scm-manager/ui-components": "2.43.1" }, "devDependencies": { "@scm-manager/prettier-config": "^2.11.1", - "@scm-manager/ui-api": "2.43.1-SNAPSHOT", + "@scm-manager/ui-api": "2.43.1", "@scm-manager/eslint-config": "^2.17.0", "@babel/core": "^7.17.8", "@scm-manager/tsconfig": "^2.12.0", diff --git a/scm-ui/ui-components/package.json b/scm-ui/ui-components/package.json index c8037dc328..6bd217ca36 100644 --- a/scm-ui/ui-components/package.json +++ b/scm-ui/ui-components/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-components", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "UI Components for SCM-Manager and its plugins", "main": "src/index.ts", "files": [ @@ -20,15 +20,15 @@ "update-storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false -u" }, "devDependencies": { - "@scm-manager/ui-syntaxhighlighting": "2.43.1-SNAPSHOT", - "@scm-manager/ui-shortcuts": "2.43.1-SNAPSHOT", - "@scm-manager/ui-text": "2.43.1-SNAPSHOT", + "@scm-manager/ui-syntaxhighlighting": "2.43.1", + "@scm-manager/ui-shortcuts": "2.43.1", + "@scm-manager/ui-text": "2.43.1", "@scm-manager/babel-preset": "^2.13.1", "@scm-manager/eslint-config": "^2.17.0", "@scm-manager/jest-preset": "^2.13.0", "@scm-manager/prettier-config": "^2.10.1", "@scm-manager/tsconfig": "^2.13.0", - "@scm-manager/ui-tests": "2.43.1-SNAPSHOT", + "@scm-manager/ui-tests": "2.43.1", "@storybook/addon-actions": "^6.4.20", "@storybook/addon-essentials": "^6.4.20", "@storybook/addon-interactions": "^6.4.20", @@ -67,9 +67,9 @@ }, "dependencies": { "@headlessui/react": "^1.4.3", - "@scm-manager/ui-api": "2.43.1-SNAPSHOT", - "@scm-manager/ui-extensions": "2.43.1-SNAPSHOT", - "@scm-manager/ui-types": "2.43.1-SNAPSHOT", + "@scm-manager/ui-api": "2.43.1", + "@scm-manager/ui-extensions": "2.43.1", + "@scm-manager/ui-types": "2.43.1", "classnames": "^2.2.6", "date-fns": "^2.4.1", "deepmerge": "^4.2.2", diff --git a/scm-ui/ui-extensions/package.json b/scm-ui/ui-extensions/package.json index 6b226d5d2f..93c8ce0cbc 100644 --- a/scm-ui/ui-extensions/package.json +++ b/scm-ui/ui-extensions/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-extensions", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "private": false, "author": "Sebastian Sdorra ", @@ -17,7 +17,7 @@ "test": "jest" }, "dependencies": { - "@scm-manager/ui-types": "2.43.1-SNAPSHOT", + "@scm-manager/ui-types": "2.43.1", "react": "^17.0.1" }, "devDependencies": { diff --git a/scm-ui/ui-forms/package.json b/scm-ui/ui-forms/package.json index 739bac566c..e46adcd98e 100644 --- a/scm-ui/ui-forms/package.json +++ b/scm-ui/ui-forms/package.json @@ -1,7 +1,7 @@ { "name": "@scm-manager/ui-forms", "private": false, - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "main": "build/index.js", "types": "build/index.d.ts", "module": "build/index.mjs", @@ -16,7 +16,7 @@ "@scm-manager/eslint-config": "^2.16.0", "@scm-manager/prettier-config": "^2.10.1", "@scm-manager/tsconfig": "^2.13.0", - "@scm-manager/ui-styles": "2.43.1-SNAPSHOT", + "@scm-manager/ui-styles": "2.43.1", "@storybook/addon-actions": "^6.5.10", "@storybook/addon-essentials": "^6.5.10", "@storybook/addon-interactions": "^6.5.10", @@ -32,7 +32,7 @@ "tsup": "^6.2.3" }, "peerDependencies": { - "@scm-manager/ui-components": "2.43.1-SNAPSHOT", + "@scm-manager/ui-components": "2.43.1", "classnames": "^2.3.1", "react": "17", "react-hook-form": "7", @@ -41,9 +41,9 @@ "styled-components": "5" }, "dependencies": { - "@scm-manager/ui-buttons": "2.43.1-SNAPSHOT", - "@scm-manager/ui-overlays": "2.43.1-SNAPSHOT", - "@scm-manager/ui-api": "2.43.1-SNAPSHOT" + "@scm-manager/ui-buttons": "2.43.1", + "@scm-manager/ui-overlays": "2.43.1", + "@scm-manager/ui-api": "2.43.1" }, "prettier": "@scm-manager/prettier-config", "eslintConfig": { diff --git a/scm-ui/ui-legacy/package.json b/scm-ui/ui-legacy/package.json index c3b0e9a7c6..db404d69c2 100644 --- a/scm-ui/ui-legacy/package.json +++ b/scm-ui/ui-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-legacy", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "private": true, "main": "build/index.js", "module": "build/index.mjs", @@ -12,9 +12,9 @@ "test": "jest --passWithNoTests" }, "dependencies": { - "@scm-manager/ui-api": "2.43.1-SNAPSHOT", - "@scm-manager/ui-extensions": "2.43.1-SNAPSHOT", - "@scm-manager/ui-types": "2.43.1-SNAPSHOT", + "@scm-manager/ui-api": "2.43.1", + "@scm-manager/ui-extensions": "2.43.1", + "@scm-manager/ui-types": "2.43.1", "react": "^17.0.1", "react-redux": "^5.0.7", "redux": "^4.0.0" diff --git a/scm-ui/ui-modules/package.json b/scm-ui/ui-modules/package.json index d9b9e420a2..f28af9829e 100644 --- a/scm-ui/ui-modules/package.json +++ b/scm-ui/ui-modules/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-modules", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "private": true, "main": "build/index.js", "module": "build/index.mjs", diff --git a/scm-ui/ui-overlays/package.json b/scm-ui/ui-overlays/package.json index 779f1b5d10..ac1c3f0c81 100644 --- a/scm-ui/ui-overlays/package.json +++ b/scm-ui/ui-overlays/package.json @@ -1,7 +1,7 @@ { "name": "@scm-manager/ui-overlays", "private": false, - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "main": "build/index.js", "types": "build/index.d.ts", "module": "build/index.mjs", @@ -16,7 +16,7 @@ "@scm-manager/eslint-config": "^2.16.0", "@scm-manager/prettier-config": "^2.10.1", "@scm-manager/tsconfig": "^2.13.0", - "@scm-manager/ui-styles": "2.43.1-SNAPSHOT", + "@scm-manager/ui-styles": "2.43.1", "@storybook/addon-actions": "^6.5.10", "@storybook/addon-essentials": "^6.5.10", "@storybook/addon-interactions": "^6.5.10", diff --git a/scm-ui/ui-plugins/package.json b/scm-ui/ui-plugins/package.json index 19c7487ed2..e64bf9cefe 100644 --- a/scm-ui/ui-plugins/package.json +++ b/scm-ui/ui-plugins/package.json @@ -1,15 +1,15 @@ { "name": "@scm-manager/ui-plugins", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "bin": { "ui-plugins": "./bin/ui-plugins.js" }, "dependencies": { - "@scm-manager/ui-components": "2.43.1-SNAPSHOT", - "@scm-manager/ui-extensions": "2.43.1-SNAPSHOT", - "@scm-manager/ui-forms": "2.43.1-SNAPSHOT", - "@scm-manager/ui-buttons": "2.43.1-SNAPSHOT", + "@scm-manager/ui-components": "2.43.1", + "@scm-manager/ui-extensions": "2.43.1", + "@scm-manager/ui-forms": "2.43.1", + "@scm-manager/ui-buttons": "2.43.1", "classnames": "^2.2.6", "query-string": "6.14.1", "react": "^17.0.1", @@ -28,9 +28,9 @@ "@scm-manager/plugin-scripts": "^1.2.2", "@scm-manager/prettier-config": "^2.10.1", "@scm-manager/tsconfig": "^2.13.0", - "@scm-manager/ui-scripts": "2.43.1-SNAPSHOT", - "@scm-manager/ui-tests": "2.43.1-SNAPSHOT", - "@scm-manager/ui-types": "2.43.1-SNAPSHOT", + "@scm-manager/ui-scripts": "2.43.1", + "@scm-manager/ui-tests": "2.43.1", + "@scm-manager/ui-types": "2.43.1", "@types/classnames": "^2.2.9", "@types/enzyme": "^3.10.3", "@types/fetch-mock": "^7.3.1", diff --git a/scm-ui/ui-polyfill/package.json b/scm-ui/ui-polyfill/package.json index 5a4ad05be3..ae2d43786b 100644 --- a/scm-ui/ui-polyfill/package.json +++ b/scm-ui/ui-polyfill/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-polyfill", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "Polyfills for SCM-Manager UI", "main": "src/index.js", "author": "Sebastian Sdorra ", diff --git a/scm-ui/ui-scripts/package.json b/scm-ui/ui-scripts/package.json index 28120f7764..6260627bbe 100644 --- a/scm-ui/ui-scripts/package.json +++ b/scm-ui/ui-scripts/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-scripts", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "Build scripts for SCM-Manager", "main": "src/index.js", "author": "Sebastian Sdorra ", diff --git a/scm-ui/ui-shortcuts/package.json b/scm-ui/ui-shortcuts/package.json index 4988600321..9eab051d98 100644 --- a/scm-ui/ui-shortcuts/package.json +++ b/scm-ui/ui-shortcuts/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-shortcuts", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "license": "MIT", "private": true, "main": "build/index.js", diff --git a/scm-ui/ui-styles/package.json b/scm-ui/ui-styles/package.json index a47203f81e..002ba5b684 100644 --- a/scm-ui/ui-styles/package.json +++ b/scm-ui/ui-styles/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-styles", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "Styles for SCM-Manager", "main": "src/scm.scss", "license": "MIT", diff --git a/scm-ui/ui-syntaxhighlighting/package.json b/scm-ui/ui-syntaxhighlighting/package.json index d08659db5c..c50fa67b7f 100644 --- a/scm-ui/ui-syntaxhighlighting/package.json +++ b/scm-ui/ui-syntaxhighlighting/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-syntaxhighlighting", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "private": true, "main": "src/index.ts", "scripts": { @@ -13,7 +13,7 @@ "depcheck": "depcheck" }, "dependencies": { - "@scm-manager/ui-text": "2.43.1-SNAPSHOT", + "@scm-manager/ui-text": "2.43.1", "nanoid": "^3.3.2", "react-diff-view": "^2.4.10", "refractor": "^4.5.0" diff --git a/scm-ui/ui-tests/package.json b/scm-ui/ui-tests/package.json index 0eb071aa68..b3e9ce29db 100644 --- a/scm-ui/ui-tests/package.json +++ b/scm-ui/ui-tests/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-tests", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "UI-Tests helpers", "author": "Sebastian Sdorra ", "license": "MIT", diff --git a/scm-ui/ui-text/package.json b/scm-ui/ui-text/package.json index 8c6760077f..2e383bbb05 100644 --- a/scm-ui/ui-text/package.json +++ b/scm-ui/ui-text/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-text", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "private": true, "main": "build/index.js", "module": "build/index.mjs", diff --git a/scm-ui/ui-types/package.json b/scm-ui/ui-types/package.json index 009e7f1ba8..3f935d8bd4 100644 --- a/scm-ui/ui-types/package.json +++ b/scm-ui/ui-types/package.json @@ -1,6 +1,6 @@ { "name": "@scm-manager/ui-types", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "description": "Typescript types for SCM-Manager related Objects", "main": "src/index.ts", "files": [ diff --git a/scm-ui/ui-webapp/package.json b/scm-ui/ui-webapp/package.json index 64a5f57b6f..fed0f55e18 100644 --- a/scm-ui/ui-webapp/package.json +++ b/scm-ui/ui-webapp/package.json @@ -1,20 +1,20 @@ { "name": "@scm-manager/ui-webapp", - "version": "2.43.1-SNAPSHOT", + "version": "2.43.1", "private": true, "dependencies": { "@headlessui/react": "^1.4.3", - "@scm-manager/ui-api": "2.43.1-SNAPSHOT", - "@scm-manager/ui-components": "2.43.1-SNAPSHOT", - "@scm-manager/ui-extensions": "2.43.1-SNAPSHOT", - "@scm-manager/ui-modules": "2.43.1-SNAPSHOT", - "@scm-manager/ui-syntaxhighlighting": "2.43.1-SNAPSHOT", - "@scm-manager/ui-text": "2.43.1-SNAPSHOT", - "@scm-manager/ui-shortcuts": "2.43.1-SNAPSHOT", - "@scm-manager/ui-legacy": "2.43.1-SNAPSHOT", - "@scm-manager/ui-forms": "2.43.1-SNAPSHOT", - "@scm-manager/ui-buttons": "2.43.1-SNAPSHOT", - "@scm-manager/ui-overlays": "2.43.1-SNAPSHOT", + "@scm-manager/ui-api": "2.43.1", + "@scm-manager/ui-components": "2.43.1", + "@scm-manager/ui-extensions": "2.43.1", + "@scm-manager/ui-modules": "2.43.1", + "@scm-manager/ui-syntaxhighlighting": "2.43.1", + "@scm-manager/ui-text": "2.43.1", + "@scm-manager/ui-shortcuts": "2.43.1", + "@scm-manager/ui-legacy": "2.43.1", + "@scm-manager/ui-forms": "2.43.1", + "@scm-manager/ui-buttons": "2.43.1", + "@scm-manager/ui-overlays": "2.43.1", "classnames": "^2.2.5", "history": "^4.10.1", "i18next": "21", @@ -42,7 +42,7 @@ "devDependencies": { "@scm-manager/eslint-config": "^2.17.0", "@scm-manager/jest-preset": "^2.13.0", - "@scm-manager/ui-tests": "2.43.1-SNAPSHOT", + "@scm-manager/ui-tests": "2.43.1", "@testing-library/react": "^12.1.5", "@types/classnames": "^2.2.9", "@types/enzyme": "^3.10.3",