From a020a0be4a30c62829b7ebaf7aed1714dd6ca5bc Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Tue, 3 Dec 2024 16:55:56 +0100 Subject: [PATCH] Handle RC and milestone calver comparison. --- .../internal/project/ProjectVersion.java | 7 +- .../docs/ReleaseTrainContentsParserTests.java | 2 +- .../ReleaseTrainContentsUpdaterTests.java | 29 +- .../Spring-Cloud-Greenwich-Release-Notes.md | 308 ------------------ .../spring-cloud-wiki/git/COMMIT_EDITMSG | 1 + .../projects/spring-cloud-wiki/git/HEAD | 1 + .../projects/spring-cloud-wiki/git/config | 11 + .../spring-cloud-wiki/git/description | 1 + .../git/hooks/applypatch-msg.sample | 15 + .../git/hooks/commit-msg.sample | 24 ++ .../git/hooks/fsmonitor-watchman.sample | 174 ++++++++++ .../git/hooks/post-update.sample | 8 + .../git/hooks/pre-applypatch.sample | 14 + .../git/hooks/pre-commit.sample | 49 +++ .../git/hooks/pre-merge-commit.sample | 13 + .../git/hooks/pre-push.sample | 53 +++ .../git/hooks/pre-rebase.sample | 169 ++++++++++ .../git/hooks/pre-receive.sample | 24 ++ .../git/hooks/prepare-commit-msg.sample | 42 +++ .../git/hooks/push-to-checkout.sample | 78 +++++ .../git/hooks/sendemail-validate.sample | 77 +++++ .../spring-cloud-wiki/git/hooks/update.sample | 128 ++++++++ .../projects/spring-cloud-wiki/git/index | Bin 0 -> 1194 bytes .../spring-cloud-wiki/git/info/exclude | 6 + .../projects/spring-cloud-wiki/git/logs/HEAD | 3 + .../git/logs/refs/heads/master | 3 + .../git/logs/refs/remotes/origin/HEAD | 1 + .../10/41a98675ba038b74202fd7560baf1b6f918d19 | Bin 0 -> 189 bytes .../47/09fdfc9a389a816b9fa2751cda4a4dcfdb8bef | Bin 0 -> 745 bytes .../77/37b973b40d7e29e33bd4bcc4bf986c5077ad95 | Bin 0 -> 426 bytes .../dd/50b467f8f23bb630707e5769cce5cd7897d0a7 | Bin 0 -> 198 bytes .../e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | Bin 0 -> 15 bytes .../e6/c1999dd04e9382ae5af2e8a27b3bf7fcba9556 | Bin 0 -> 460 bytes ...fd5ac4335493365f6463b464eb0cf1fa2ca898.idx | Bin 0 -> 20168 bytes ...d5ac4335493365f6463b464eb0cf1fa2ca898.pack | Bin 0 -> 166587 bytes ...fd5ac4335493365f6463b464eb0cf1fa2ca898.rev | Bin 0 -> 2780 bytes .../spring-cloud-wiki/git/packed-refs | 2 + .../spring-cloud-wiki/git/refs/heads/master | 1 + .../git/refs/remotes/origin/HEAD | 1 + 39 files changed, 917 insertions(+), 328 deletions(-) delete mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/Spring-Cloud-Greenwich-Release-Notes.md create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/COMMIT_EDITMSG create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/HEAD create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/config create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/description create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/applypatch-msg.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/commit-msg.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/fsmonitor-watchman.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/post-update.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-applypatch.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-commit.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-merge-commit.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-push.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-rebase.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-receive.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/prepare-commit-msg.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/push-to-checkout.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/sendemail-validate.sample create mode 100755 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/update.sample create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/index create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/info/exclude create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/HEAD create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/heads/master create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/remotes/origin/HEAD create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/10/41a98675ba038b74202fd7560baf1b6f918d19 create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/47/09fdfc9a389a816b9fa2751cda4a4dcfdb8bef create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/77/37b973b40d7e29e33bd4bcc4bf986c5077ad95 create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/dd/50b467f8f23bb630707e5769cce5cd7897d0a7 create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/e6/c1999dd04e9382ae5af2e8a27b3bf7fcba9556 create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.idx create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.pack create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.rev create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/packed-refs create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/heads/master create mode 100644 releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/remotes/origin/HEAD diff --git a/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java b/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java index df1ed32c..c343566c 100644 --- a/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java +++ b/releaser-core/src/main/java/releaser/internal/project/ProjectVersion.java @@ -824,6 +824,10 @@ public class ProjectVersion implements Comparable, Serializable public int compareTo(TrainVersionNumber o) { ProjectVersion thisVersion = this.version; ProjectVersion thatVersion = o.version; + // "" vs "" + if (!thatVersion.isValid() && !thisVersion.isValid()) { + return 0; + } // 2020.0.0 vs "" if (!thatVersion.isValid() && thisVersion.isValid()) { return 1; @@ -902,7 +906,8 @@ public class ProjectVersion implements Comparable, Serializable private int calVerSuffixComparison(ProjectVersion thatVersion) { // With calVer if this project version doesn't have suffix, - // and the other has suffix, but is not snapshot is when this project version is a GA + // and the other has suffix, but is not snapshot is when this project version + // is a GA // and the other project version is a milestone or RC if (this.version.assertVersion().suffix.isEmpty()) { if (!(thatVersion.assertVersion().suffix.isEmpty() || thatVersion.isSnapshot())) { diff --git a/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsParserTests.java b/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsParserTests.java index 8da20546..84355bea 100644 --- a/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsParserTests.java +++ b/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsParserTests.java @@ -37,7 +37,7 @@ public class ReleaseTrainContentsParserTests { public void should_retrieve_latest_release_version_name() { String releaseTrain = new ReleaseTrainContentsParser().latestReleaseTrainFromWiki(this.finchley); - BDDAssertions.then(releaseTrain).isEqualTo("Finchley.SR2"); + BDDAssertions.then(releaseTrain).isEqualTo("Finchley.SR4"); } } diff --git a/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsUpdaterTests.java b/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsUpdaterTests.java index a6c57129..2bb44e67 100644 --- a/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsUpdaterTests.java +++ b/releaser-core/src/test/java/releaser/internal/docs/ReleaseTrainContentsUpdaterTests.java @@ -131,20 +131,18 @@ public class ReleaseTrainContentsUpdaterTests { } @Test - public void should_update_the_contents_of_wiki_on_GA_when_previous_release_RC() throws GitAPIException, IOException { + public void should_update_the_contents_of_wiki_on_GA_when_previous_release_RC() + throws GitAPIException, IOException { this.properties.getMetaRelease().setEnabled(true); this.properties.getGit().setUpdateReleaseTrainWiki(true); - this.properties.getGit() - .setReleaseTrainWikiUrl(this.wikiRepo.getAbsolutePath() + "/"); + this.properties.getGit().setReleaseTrainWikiUrl(this.wikiRepo.getAbsolutePath() + "/"); File file = this.updater.updateReleaseTrainWiki(newGACalver()); BDDAssertions.then(file).isNotNull(); - BDDAssertions.then(calverWithRCWikiEntryContent(file)).contains("# 2024.0.0") - .contains( - "Spring Cloud Consul `4.2.0` ([issues](https://github.com/spring-cloud/spring-cloud-consul/releases/tag/v4.2.0))"); - BDDAssertions.then(GitTestUtils.openGitProject(file).log().call().iterator() - .next().getShortMessage()) + BDDAssertions.then(calverWithRCWikiEntryContent(file)).contains("# 2024.0.0").contains( + "Spring Cloud Consul `4.2.0` ([issues](https://github.com/spring-cloud/spring-cloud-consul/releases/tag/v4.2.0))"); + BDDAssertions.then(GitTestUtils.openGitProject(file).log().call().iterator().next().getShortMessage()) .contains("Updating project page to release train [2024.0.0]"); } @@ -296,22 +294,17 @@ public class ReleaseTrainContentsUpdaterTests { } Projects newGACalver() { - return new Projects( - new ProjectVersion("spring-cloud-bus", "4.2.0"), + return new Projects(new ProjectVersion("spring-cloud-bus", "4.2.0"), new ProjectVersion("spring-cloud-commons", "4.2.0"), new ProjectVersion("spring-cloud-contract", "4.2.0"), - new ProjectVersion("spring-cloud-config", "4.2.0"), - new ProjectVersion("spring-cloud-consul", "4.2.0"), - new ProjectVersion("spring-cloud-netflix", "4.2.0"), - new ProjectVersion("spring-cloud-consul", "4.2.0"), + new ProjectVersion("spring-cloud-config", "4.2.0"), new ProjectVersion("spring-cloud-consul", "4.2.0"), + new ProjectVersion("spring-cloud-netflix", "4.2.0"), new ProjectVersion("spring-cloud-consul", "4.2.0"), new ProjectVersion("spring-cloud-stream", "4.2.0"), - new ProjectVersion("spring-cloud-zookeeper", "4.2.0"), - new ProjectVersion("spring-boot", "3.4.0"), + new ProjectVersion("spring-cloud-zookeeper", "4.2.0"), new ProjectVersion("spring-boot", "3.4.0"), new ProjectVersion("spring-cloud-task", "3.2.0"), // newer release train, current version in file is 2024.0.0-RC1 new ProjectVersion("spring-cloud-release", "2024.0.0"), - new ProjectVersion("spring-cloud-vault", "4.2.0"), - new ProjectVersion("spring-cloud-gateway", "4.2.0"), + new ProjectVersion("spring-cloud-vault", "4.2.0"), new ProjectVersion("spring-cloud-gateway", "4.2.0"), new ProjectVersion("spring-cloud-openfeign", "4.2.0"), new ProjectVersion("spring-cloud-circuitbreaker", "3.2.0"), new ProjectVersion("spring-cloud-kubernetes", "3.2.0"), diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/Spring-Cloud-Greenwich-Release-Notes.md b/releaser-core/src/test/resources/projects/spring-cloud-wiki/Spring-Cloud-Greenwich-Release-Notes.md deleted file mode 100644 index 04fd25d6..00000000 --- a/releaser-core/src/test/resources/projects/spring-cloud-wiki/Spring-Cloud-Greenwich-Release-Notes.md +++ /dev/null @@ -1,308 +0,0 @@ - - - -# Greenwich.SR6 - -2020-05-15 - -[All Issues](https://github.com/orgs/spring-cloud/projects/39) - - - Spring Cloud Config `2.1.8.RELEASE` - - Spring Cloud Commons `2.1.6.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/74?closed=1)) - - -# Greenwich.SR5 - -2020-02-01 - - - Spring Cloud Build `2.1.10.RELEASE` - - Spring Cloud Sleuth `2.1.7.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/71?closed=1)) - - Spring Cloud Consul `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/45?closed=1)) - - Spring Cloud Gateway `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/33?closed=1)) - - Spring Cloud Contract `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/60?closed=1)) - - Spring Cloud Netflix `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/87?closed=1)) - - Spring Cloud Gcp `1.1.5.RELEASE` - - Spring Cloud Config `2.1.6.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/73?closed=1)) - - Spring Cloud Starter Build `Greenwich.SR5` - - Spring Cloud Openfeign `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/20?closed=1)) - - Spring Cloud Commons `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/69?closed=1)) - - Spring Cloud Aws `2.1.4.RELEASE` - - Spring Cloud Vault `2.1.5.RELEASE` - - Spring Cloud Bus `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/41?closed=1)) - - Spring Cloud Kubernetes `1.0.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/17?closed=1)) - - -# Greenwich.SR4 - -2019-11-18 - - - Spring Cloud Security `2.1.5.RELEASE` - - Spring Cloud Starter `Greenwich.SR4` - - Spring Cloud Kubernetes `1.0.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/16?closed=1)) - - Spring Cloud Commons `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/65?closed=1)) - - Spring Cloud Openfeign `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/17?closed=1)) - - Spring Cloud Dependencies Parent `2.1.9.RELEASE` - - Spring Cloud Stream `Fishtown.SR4` - - Spring Cloud Contract `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/56?closed=1)) - - Spring Cloud Consul `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/43?closed=1)) - - Spring Cloud Vault `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/34?closed=1)) - - Spring Cloud Dependencies `Greenwich.SR4` - - Spring Cloud Zookeeper `2.1.4.RELEASE` - - Spring Cloud Task `2.1.3.RELEASE` - - Spring Cloud Bus `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/41?closed=1)) - - Spring Cloud Release `Greenwich.SR4` - - Spring Cloud Cloudfoundry `2.1.4.RELEASE` - - Spring Cloud Build `2.1.9.RELEASE` - - Spring Cloud Netflix `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/83?closed=1)) - - Spring Cloud `Greenwich.SR4` - - Spring Cloud Sleuth `2.1.6.RELEASE` - - Spring Cloud Config `2.1.5.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/70?closed=1)) - - Spring Cloud Gateway `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/28?closed=1)) - - Spring Cloud Function `2.0.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/18?closed=1)) - - Spring Cloud Gcp `1.1.4.RELEASE` - - Spring Cloud Starter Parent `Greenwich.SR4` - - Spring Cloud Aws `2.1.4.RELEASE` - - -# Greenwich.SR3 - -2019-09-10 - - - Spring Cloud Commons `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/62?closed=1)) - - Spring Cloud Openfeign `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/14?closed=1)) - - Spring Cloud Security `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-security/milestone/22?closed=1)) - - Spring Cloud Stream `Fishtown.SR4` - - Spring Cloud Kubernetes `1.0.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/13?closed=1)) - - Spring Cloud Build `2.1.7.RELEASE` - - Spring Cloud Zookeeper `2.1.3.RELEASE` - - Spring Cloud Gateway `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/26?closed=1)) - - Spring Cloud Dependencies `Greenwich.SR3` - - Spring Cloud Netflix `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/81?closed=1)) - - Spring Cloud Bus `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/40?closed=1)) - - Spring Cloud Dependencies Parent `2.1.7.RELEASE` - - Spring Cloud Task `2.1.3.RELEASE` - - Spring Cloud Starter `Greenwich.SR3` - - Spring Cloud Cloudfoundry `2.1.3.RELEASE` - - Spring Cloud `Greenwich.SR3` - - Spring Cloud Vault `2.1.3.RELEASE` - - Spring Cloud Config `2.1.4.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/68?closed=1)) - - Spring Cloud Release `Greenwich.SR3` - - Spring Cloud Function `2.0.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/18?closed=1)) - - Spring Cloud Consul `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/42?closed=1)) - - Spring Cloud Starter Parent `Greenwich.SR3` - - Spring Cloud Gcp `1.1.3.RELEASE` - - Spring Cloud Sleuth `2.1.3.RELEASE` - - Spring Cloud Aws `2.1.3.RELEASE` - - Spring Cloud Contract `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/53?closed=1)) - - -# Greenwich.SR2 - -2019-06-21 - - - Spring Cloud Task `2.1.2.RELEASE` - - Spring Cloud Config `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/66?closed=1)) - - Spring Cloud Stream `Fishtown.SR3` ([issues](https://github.com/spring-cloud/spring-cloud-stream/milestone/60?closed=1)) - - Spring Cloud `Greenwich.SR2` - - Spring Cloud Sleuth `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/62?closed=1)) - - Spring Cloud Commons `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/61?closed=1)) - - Spring Cloud Openfeign `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/12?closed=1)) - - Spring Cloud Release `Greenwich.SR2` - - Spring Cloud Kubernetes `1.0.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/11?closed=1)) - - Spring Cloud Aws `2.1.2.RELEASE` - - Spring Cloud Vault `2.1.2.RELEASE` - - Spring Cloud Function `2.0.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/18?closed=1)) - - Spring Cloud Bus `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/37?closed=1)) - - Spring Cloud Build `2.1.6.RELEASE` - - Spring Cloud Zookeeper `2.1.2.RELEASE` - - Spring Cloud Dependencies `Greenwich.SR2` - - Spring Cloud Gcp `1.1.2.RELEASE` - - Spring Cloud Contract `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/51?closed=1)) - - Spring Cloud Consul `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/41?closed=1)) - - Spring Cloud Security `2.1.3.RELEASE` - - Spring Cloud Gateway `2.1.2.RELEASE` - - Spring Cloud Cloudfoundry `2.1.2.RELEASE` - - Spring Cloud Netflix `2.1.2.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/76?closed=1)) - - Spring Cloud Starter `Greenwich.SR2` - - -# Greenwich.SR1 - -2019-03-05 - - - Spring Cloud Netflix `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/75?closed=1)) - - Spring Cloud Stream `Fishtown.SR2` - - Spring Cloud Gcp `1.1.1.RELEASE` - - Spring Cloud Cloudfoundry `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-cloudfoundry/milestone/12?closed=1)) - - Spring Cloud Build `2.1.3.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-build/milestone/24?closed=1)) - - Spring Cloud Commons `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-commons/milestone/58?closed=1)) - - Spring Cloud `Greenwich.SR1` - - Spring Cloud Openfeign `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/11?closed=1)) - - Spring Cloud Task `2.1.1.RELEASE` - - Spring Cloud Sleuth `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/59?closed=1)) - - Spring Cloud Aws `2.1.1.RELEASE` - - Spring Cloud Release `Greenwich.SR1` - - Spring Cloud Zookeeper `2.1.1.RELEASE` - - Spring Cloud Bus `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/36?closed=1)) - - Spring Cloud Vault `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/30?closed=1)) - - Spring Cloud Kubernetes `1.0.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/10?closed=1)) - - Spring Cloud Dependencies `Greenwich.SR1` - - Spring Cloud Contract `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/49?closed=1)) - - Spring Cloud Consul `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/38?closed=1)) - - Spring Cloud Gateway `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/22?closed=1)) - - Spring Cloud Function `2.0.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/17?closed=1)) - - Spring Cloud Starter `Greenwich.SR1` - - Spring Cloud Config `2.1.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/61?closed=1)) - - Spring Cloud Security `2.1.2.RELEASE` ([2.1.1 issues + documentation fixes](https://github.com/spring-cloud/spring-cloud-security/issues?q=is%3Aclosed+milestone%3A2.1.1.RELEASE)) - - -# Greenwich.RELEASE - -2019-01-22 - -Spring Cloud Greenwich builds on Spring Boot 2.1.x - -For a complete list of the issues resolved in this release see the [Greenwich.RELEASE GitHub Project](https://github.com/orgs/spring-cloud/projects/19). - - - Spring Cloud Sleuth `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/58?closed=1)) - - Spring Cloud Gcp `1.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-gcp/milestone/9?closed=1)) - - Spring Cloud Netflix `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/74?closed=1)) - - Spring Cloud Consul `2.1.0.RELEASE` - - Spring Cloud Gateway `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/21?closed=1)) - - Spring Cloud Function `2.0.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/14?closed=1)) - - Spring Cloud Stream `Fishtown.RELEASE` ([Announcement](https://spring.io/blog/2019/01/08/announcing-general-availability-of-spring-cloud-stream-fishtown-release-2-1-0-release)) - - Spring Cloud Zookeeper `2.1.0.RELEASE` - - Spring Cloud Cloudfoundry `2.1.0.RELEASE` - - Spring Cloud Aws `2.1.0.RELEASE` - - Spring Cloud Task `2.1.0.RELEASE` ([Announcement](https://spring.io/blog/2019/01/22/spring-cloud-task-2-1-0-ga-is-now-available)) - - Spring Cloud Kubernetes `1.0.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/9?closed=1)) - - Spring Cloud Contract `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/48?closed=1)) - - Spring Cloud Security `2.1.0.RELEASE` - - Spring Cloud Bus `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/35?closed=1)) - - Spring Cloud Config `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/60?closed=1)) - - Spring Cloud Vault `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/29?closed=1)) - - Spring Cloud Openfeign `2.1.0.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/milestone/10?closed=1)) - - Spring Cloud Commons `2.1.0.RELEASE` - - -# Greenwich.RC2 - -2018-12-21 - -See all issues assigned to Greenwich.RC2 at the [Github Project](https://github.com/orgs/spring-cloud/projects/12) - - - Spring Cloud Security `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-security/issues?q=is%3Aclosed+milestone%3A2.1.0.RC3)) - - Spring Cloud Vault `2.1.0.RC1` - - Spring Cloud Contract `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/46?closed=1)) - - Spring Cloud Kubernetes `1.0.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/8?closed=1)) - - Spring Cloud Commons `2.1.0.RC2` - - Spring Cloud Zookeeper `2.1.0.RC2` - - Spring Cloud Openfeign `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/issues?q=is%3Aclosed+milestone%3A2.1.0.RC3)) - - Spring Cloud Aws `2.1.0.RC1` - - Spring Cloud Starter `Greenwich.RC2` - - Spring Cloud Bus `2.1.0.RC3` - - Spring Cloud Sleuth `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/issues?q=is%3Aclosed+milestone%3A2.1.0.RC3)) - - Spring Cloud Netflix `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/73?closed=1)) - - Spring Cloud Stream `Fishtown.RC4` - - Spring Cloud Gcp `1.1.0.RC2` - - Spring Cloud Cloudfoundry `2.1.0.RC2` - - Spring Cloud Build `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-build/milestone/21?closed=1)) - - Spring Cloud Dependencies `Greenwich.RC2` - - Spring Cloud Task `2.1.0.M2` - - Spring Cloud Release `Greenwich.RC2` - - Spring Cloud Function `2.0.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/15?closed=1)) - - Spring Cloud `Greenwich.RC2` - - Spring Cloud Consul `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-consul/milestone/37?closed=1)) - - Spring Cloud Config `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/59?closed=1)) - - Spring Cloud Gateway `2.1.0.RC3` ([issues](https://github.com/spring-cloud/spring-cloud-gateway/milestone/20?closed=1)) - -# Greenwich.RC1 - -Spring Cloud Greenwich builds on Spring Boot 2.1.x and is not compatible with 2.0.x or 1.x.y. - -See all issues assigned to Greenwich.RC1 at the [Github Project](https://github.com/orgs/spring-cloud/projects/18) - -2018-12-12 - - - Spring Cloud Kubernetes `1.0.0.RC1` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/issues?q=is%3Aclosed+milestone%3A1.0.0.RC1)) - - Spring Cloud Security `2.1.0.RC2` - - Spring Cloud Vault `2.1.0.RC1` ([issues](https://github.com/spring-cloud/spring-cloud-vault/milestone/27?closed=1)) - - Spring Cloud Commons `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-commons/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Contract `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-contract/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Openfeign `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-openfeign/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Zookeeper `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-zookeeper/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Stream `Fishtown.RC2` - - Spring Cloud Starter `Greenwich.RC1` - - Spring Cloud Aws `2.0.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-aws/milestone/24?closed=1)) - - Spring Cloud Sleuth `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Bus `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-bus/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Netflix `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Gcp `1.1.0.RC1` ([issues](https://github.com/spring-cloud/spring-cloud-gcp/milestone/10?closed=1)) - - Spring Cloud Cloudfoundry `2.1.0.RC2` - - Spring Cloud Build `2.1.0.RC3` - - Spring Cloud Dependencies `Greenwich.RC1` - - Spring Cloud Function `2.0.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/13?closed=1)) - - Spring Cloud Task `2.1.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-task/milestone/29?closed=1)) - - Spring Cloud Release `Greenwich.RC1` - - Spring Cloud Consul `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-config/milestone/59?closed=1)) - - Spring Cloud Config `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-config/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud Gateway `2.1.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-config/issues?q=is%3Aclosed+milestone%3A2.1.0.RC1)) - - Spring Cloud `Greenwich.RC1` - -# Greenwich.M3 - -2018-11-19 - - - Spring Cloud `Greenwich.M3` - - Spring Cloud Zookeeper `2.1.0.M1` - - Spring Cloud Gateway `2.1.0.M3` - - Spring Cloud Bus `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/31?closed=1)) - - Spring Cloud Consul `2.1.0.M2` - - Spring Cloud Stream `Fishtown.RC2` - - Spring Cloud Aws `2.0.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-aws/milestone/24?closed=1)) - - Spring Cloud Release `Greenwich.M3` - - Spring Cloud Commons `2.1.0.M2` - - Spring Cloud Vault `2.1.0.M2` - - Spring Cloud Netflix `2.1.0.M3` - - Spring Cloud Openfeign `2.1.0.M2` - - Spring Cloud Kubernetes `1.0.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/6?closed=1)) - - Spring Cloud Gcp `1.1.0.M3` - - Spring Cloud Config `2.1.0.M3` - - Spring Cloud Dependencies `Greenwich.M3` - - Spring Cloud Contract `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/38?closed=1)) - - Spring Cloud Sleuth `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/54?closed=1)) - - Spring Cloud Build `2.1.0.RC2` - - Spring Cloud Security `2.1.0.M1` - - Spring Cloud Function `2.0.0.RC2` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/13?closed=1)) - - Spring Cloud Task `2.1.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-task/milestone/29?closed=1)) - - Spring Cloud Cloudfoundry `2.1.0.M1` - - Spring Cloud Starter `Greenwich.M3` - -# Greenwich.M2 - -2018-11-18 - - - Spring Cloud Zookeeper `2.1.0.M1` - - Spring Cloud Bus `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-bus/milestone/31?closed=1)) - - Spring Cloud Consul `2.1.0.M2` - - Spring Cloud Gateway `2.1.0.M2` - - Spring Cloud Stream `Fishtown.RC1` - - Spring Cloud Aws `2.0.1.RELEASE` ([issues](https://github.com/spring-cloud/spring-cloud-aws/milestone/24?closed=1)) - - Spring Cloud Commons `2.1.0.M2` - - Spring Cloud `Greenwich.M2` - - Spring Cloud Release `Greenwich.M2` - - Spring Cloud Vault `2.1.0.M2` - - Spring Cloud Netflix `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-netflix/milestone/70?closed=1)) - - Spring Cloud Openfeign `2.1.0.M2` - - Spring Cloud Kubernetes `1.0.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-kubernetes/milestone/6?closed=1)) - - Spring Cloud Dependencies `2.1.0.RC2` - - Spring Cloud Gcp `1.1.0.M3` - - Spring Cloud Config `2.1.0.M2` - - Spring Cloud Contract `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-contract/milestone/38?closed=1)) - - Spring Cloud Sleuth `2.1.0.M2` ([issues](https://github.com/spring-cloud/spring-cloud-sleuth/milestone/54?closed=1)) - - Spring Cloud Build `2.1.0.RC2` - - Spring Cloud Security `2.1.0.M1` - - Spring Cloud Task `2.1.0.M1` ([issues](https://github.com/spring-cloud/spring-cloud-task/milestone/29?closed=1)) - - Spring Cloud Function `2.0.0.RC1` ([issues](https://github.com/spring-cloud/spring-cloud-function/milestone/12?closed=1)) - - Spring Cloud Cloudfoundry `2.1.0.M1` - - Spring Cloud Starter `Greenwich.M2` \ No newline at end of file diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/COMMIT_EDITMSG b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/COMMIT_EDITMSG new file mode 100644 index 00000000..162e6a7b --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/COMMIT_EDITMSG @@ -0,0 +1 @@ +Remove Greenwich release notes. diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/HEAD b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/HEAD new file mode 100644 index 00000000..cb089cd8 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/config b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/config new file mode 100644 index 00000000..e63cb7d3 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/config @@ -0,0 +1,11 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[remote "origin"] + url = git@github.com:spring-projects/spring-cloud.wiki.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/description b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/description new file mode 100644 index 00000000..498b267a --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/applypatch-msg.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/applypatch-msg.sample new file mode 100755 index 00000000..a5d7b84a --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/commit-msg.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/commit-msg.sample new file mode 100755 index 00000000..b58d1184 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/fsmonitor-watchman.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/fsmonitor-watchman.sample new file mode 100755 index 00000000..23e856f5 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/post-update.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/post-update.sample new file mode 100755 index 00000000..ec17ec19 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-applypatch.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-applypatch.sample new file mode 100755 index 00000000..4142082b --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-commit.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-commit.sample new file mode 100755 index 00000000..e144712c --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-merge-commit.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-merge-commit.sample new file mode 100755 index 00000000..399eab19 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-push.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-push.sample new file mode 100755 index 00000000..4ce688d3 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-rebase.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-rebase.sample new file mode 100755 index 00000000..6cbef5c3 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-receive.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-receive.sample new file mode 100755 index 00000000..a1fd29ec --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/prepare-commit-msg.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/prepare-commit-msg.sample new file mode 100755 index 00000000..10fa14c5 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/push-to-checkout.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/push-to-checkout.sample new file mode 100755 index 00000000..af5a0c00 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + exit 1 +} + +unset GIT_DIR GIT_WORK_TREE +cd "$worktree" && + +if grep -q "^diff --git " "$1" +then + validate_patch "$1" +else + validate_cover_letter "$1" +fi && + +if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" +then + git config --unset-all sendemail.validateWorktree && + trap 'git worktree remove -ff "$worktree"' EXIT && + validate_series +fi diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/update.sample b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/update.sample new file mode 100755 index 00000000..c4d426bc --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/index b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/index new file mode 100644 index 0000000000000000000000000000000000000000..6f13dca3544a5c98264752dbce3faf33977f259c GIT binary patch literal 1194 zcmZ?q402{*U|<4b?sR{qlM<(Yu7c4F41X9IYE)Gi7#f!_FfhM>V7Bhr@jqV9YY05G zBz@u9tv_1-d^zj!hJn{3KQ~n`u{b$1GbKM6XdD9r%p4dEHO~>%Jcg$0)wg<&g}Y{G z-ZWiy*LlU8odpX|GN=R>6lLb6>pJJ;m!{|%85kMp8R!P3=AhhIQZE_nFvb_Evlhl~8`E)N`0Y6U9G{dFiP+Xx@Q`9W1dW~wIZm3jqTY^c#ms6)g z3od%d@^PGH4W5Ss*}J!*=m_UM-|@#*9_{(9uzzd)fZW9Gik9@+fM z7*tXG<&v0FjOj0^MX+##(U9;{(?qq$=vS6WMska_ufEvB63G~=dG|dUbh**&aZO1t zPb^AB3qSn!n4sDdGIjNOcErR(2 zMnnCRh-wc*Q#wQPQ9Jju@=A(X*7I7PU73`o>4p|R9{E_31A+L-L$!zT;^ZW3MovKa+NoX=X%~;3eDuoh*|a9!DSoGzR!!Ij E0PoqWJ^%m! literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/info/exclude b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/info/exclude new file mode 100644 index 00000000..a5196d1b --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/HEAD b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/HEAD new file mode 100644 index 00000000..bc6cf58f --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/HEAD @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 1785af439856701b2358e12b0e48ccb83b112a4e Olga Maciaszek-Sharma 1733231305 +0100 clone: from github.com:spring-projects/spring-cloud.wiki.git +1785af439856701b2358e12b0e48ccb83b112a4e dd50b467f8f23bb630707e5769cce5cd7897d0a7 Olga Maciaszek-Sharma 1733231592 +0100 commit: Add Spring-Cloud-2024.0-Release-Notes.md. +dd50b467f8f23bb630707e5769cce5cd7897d0a7 1041a98675ba038b74202fd7560baf1b6f918d19 Olga Maciaszek-Sharma 1733240359 +0100 commit: Remove Greenwich release notes. diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/heads/master b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/heads/master new file mode 100644 index 00000000..bc6cf58f --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/heads/master @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 1785af439856701b2358e12b0e48ccb83b112a4e Olga Maciaszek-Sharma 1733231305 +0100 clone: from github.com:spring-projects/spring-cloud.wiki.git +1785af439856701b2358e12b0e48ccb83b112a4e dd50b467f8f23bb630707e5769cce5cd7897d0a7 Olga Maciaszek-Sharma 1733231592 +0100 commit: Add Spring-Cloud-2024.0-Release-Notes.md. +dd50b467f8f23bb630707e5769cce5cd7897d0a7 1041a98675ba038b74202fd7560baf1b6f918d19 Olga Maciaszek-Sharma 1733240359 +0100 commit: Remove Greenwich release notes. diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/remotes/origin/HEAD b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/remotes/origin/HEAD new file mode 100644 index 00000000..1fb6e649 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 1785af439856701b2358e12b0e48ccb83b112a4e Olga Maciaszek-Sharma 1733231305 +0100 clone: from github.com:spring-projects/spring-cloud.wiki.git diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/10/41a98675ba038b74202fd7560baf1b6f918d19 b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/10/41a98675ba038b74202fd7560baf1b6f918d19 new file mode 100644 index 0000000000000000000000000000000000000000..981d7651942d45ecf2162d6806d9f88e409b1bb2 GIT binary patch literal 189 zcmV;u07CzG0j-ZgYQr!P0DIOe_8uBGmgKddl-zO(h4uxj)w(u`tRO21^!4?nKj?K1 z!;F-i=LQ|QmsVAQ$Wjbsqr*hn1+_LN7e!ng!_bRIB2K}Z8&_Q#q~tNWp2lJ9Y>d4{ zLQ+qC5K%9QhCm6K4By*SDtuhO8O|&-uRnTu{hGLDhPRUc&^jF-`MJsWQt~?-$lA`K r^#OKxKr|cOf}8$>%6w`r4~5eXb#HzF6Hr<64{usK literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/47/09fdfc9a389a816b9fa2751cda4a4dcfdb8bef b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/47/09fdfc9a389a816b9fa2751cda4a4dcfdb8bef new file mode 100644 index 0000000000000000000000000000000000000000..e99661f3e0b6b37e04999343dd6626744e46654e GIT binary patch literal 745 zcmVUh(=KD6T@-GCrsyI?0ZR(42$m&7B-6*& zm$D*(k0Gs)TzcVqhV%^Y9T!bkgm2f$yH~HnEXmfZWR*nUHfazHpQ1F4lA9oi!n;#n zw^g`lI{Faak-R6U4{vGRJcK*`d%N)JXN@sM_}A4VAt(GHj;oqH(qdJ1#~7bwqH>TC zK16ubjEX@s?ooqsjBrfyDt_Vt*Vl42KXTfTaJOD%W9ilOVfe}Bpe`knvvapY>0T7Krwv_L)U4ur$q8|T43%xY2vv$T48)@h{AOD_)# z>$S6%L^s_1rtV8xlY+f42lmi03-b>-!u z>n5?~{QIsuAaojjfVoQR>H9Z{E$81-FZW*17u@;x93Oo28(})qN%<}d0xoZCvng&Q zP~70IVVhaszwQ>c+2!GPz#3;CWDA2j{S+=02!h~m0@a~3ze5S;-iPRX8#;isT?jE% z({UhQ@EnM*i`5QQEK1c-EmFvHD8ZERAhPo4JFv}fK1AP)9yLAq4s4U#!DK$#I)Miv zY0gLg(r~$8>&DgPT8JyGZ4Oxd)&^09FzrCqXK9EkMQI1FDM>?QaY=Om8+KHPE3c>y zWaEZj2)|>?>d~UTbau zSF{;>tifggsv4c_$rqv%KxcQ&{Ws?}YuW$*PR`6s$xmjO9slFyyoSJ2OVSsv z-TI^T&zG|vZ=ec;3yL!H(siA4@=H^6jSP$o^bB-^Qgc!hi&J&|@=H>S^>R}fu2 zduvR61#PhzmN zCB-c3c`eVbOiI&qL)Gu;uN#n)Sdx}sl&kBUpIeYvl9`m5lUY&;N>0=6l$R{Jf2K-y UX6~x6j|b;}+4b!f09sWK4doTqng9R* literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/dd/50b467f8f23bb630707e5769cce5cd7897d0a7 b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/dd/50b467f8f23bb630707e5769cce5cd7897d0a7 new file mode 100644 index 0000000000000000000000000000000000000000..804743ffc188aafdb1180bf964558fe638b480a5 GIT binary patch literal 198 zcmV;%06G770j;M1& literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 new file mode 100644 index 0000000000000000000000000000000000000000..711223894375fe1186ac5bfffdc48fb1fa1e65cc GIT binary patch literal 15 WcmbAGiER}FfcPQQSivmP1Q>*PR`6s$xmjO9slFyyoSJ2OVSsv z-TI^T&zG|vZ=ec;3yL!H(siA4@=H^6jSP$o^bB-^Qgc!hi&J&|@=H>S^>R}fu2 zduvR61#Phzlhm zvf~4XFJ+%>|4qI2$uxd{E;b`P^07n)&=ctl$w%$n&&n$)W?9c`d3I$|nx-47eoueh zfSkmVwEUu6UFZDVg2a-{q|BVml1fmDoOY+YWYPUIRkAa4SA~5%IRDG8Z?^!3M=B1= Cxah3_ literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.idx b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.idx new file mode 100644 index 0000000000000000000000000000000000000000..bbe9acd9983b99b235780605245e69ffdfa5d194 GIT binary patch literal 20168 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 literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.pack b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.pack new file mode 100644 index 0000000000000000000000000000000000000000..a6062e6aeaa6b45e8260b51360d99cfe1adba3e4 GIT binary patch literal 166587 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 z |7GIVEQVLsHdU=q`?_>p03s}2J@_|{z+S$lUC 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

yvHIFUJnJXkW{ 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

mxTnqkG z?$nn0?I@Ba(Z?}OR^E^Kk(hTn9O8)2kR8=WDT?ZlDYBJs@4sS~O)-Ws*hvZX;nd{s~%+D}a^bNZ$LEr3BbfS3nVB-0DwOY`G00oKQ_Eq&R6R82W>>#esC^_4>&-(ghfMUp@yJi4e~p$28GP z=I#w59}1?2?AQz7gldo1*VognwxQ!3716hr<)7D6B}+f?b`IFS$N*nt^P185xX85B zi?@`Y>|IIYt$>i9m?0)`Y{`=>EolHd4V|6W-t@t!O!dX*&&JN>h1SIQWM#oHVy?~` znq7#GPFCf9F!GMR$G1<}R%ua0yF4vgofiTEL;MYQkhhEIc$(PqSxet<0)a+NnlaXb z275*G9n(}YK%xnVJb{H8oh35 zvJq`}OvXF$k7XN}PRqOYx(V86bahqxM@|S?E+Uo1RdhU#5)2Ak9|xgr;tpvyc&B zGf^;2Mu(3p(Ws+Kuj6fqmTdr$pgM_l)?VDKH=7@pI-4YFG~W^py#H5Z=ODK}`N!jP zLI#y+_&^bwVf`74#e8-a93^N9Ypylx_Ruc|8e0Z2y-K{S$ablDrFphr*1%auC9{FQ z{#ZHBxb3g{YBTpy1oNC=Ju}Ce0D+&_V_rDNC>qRXK9|m*!U}h7hU!YK6@gsssw@Lf z7H^VQae&!fXZ_IF1SRa9q_1j$%-dRHR@(&Wu<_QLCaX29eV)s^2l6(55K^7(OU<_c zNLB;KE5`ZHB_(P0dzq=T^jx{#^Cu#uI?NWZ{dh_)wYG|e(G1-L5$Yq~uJ)Xq4}2=2 zX8JDS)SSKesF{*m=;$b`nnAN4@?l%rz-@$(&e0?m+$Q}jI#4MNL$v#e{A2ARA?^M9 zvt*tq()ut_aJ=oyaF*?{+c5Gg0X&aS%omr2!pSoL;P{+eK2>+6X{2{KO?&>0 z@5GZ~E8_)hAXlyOQL>|b<6zUJdJyGXG&{QjC+ak}>%;&3x*yXlHnebom_i9KqI-I9UP(a$v z8yYO5EN98l#V$~R{pmf{0DG0jf2>f97o+H?SG$^TDRpB) z;$AusF5HFMo=dIpeza^#F{9z+;0T;+kp_8*$(r-ag={uvn=Hxp*~rUtRUPJM+b>1K zy1@@Kilp*brJs$27|S9xSt#U7{#E2q81)Ez3}11RkD8X|Op$$}3ye7Mg`0N{*CyR-uW zy|nr)*#Jx$0C2pm8Hz>!0mnP|PWDRFGF$w<2|Hu%_Iz{#(vM=eE76T5;pP~ElAFm9 zi5JyKOTP)bXB0kurfPI`B8Z0jLVyl7QG@(Ziec~bs0N_H8ATjMfV{Ri2=;w-E~oS$5T zl8BNNsB|F(vb#w1J>|a~O&~Mu5yG9I+5om$W!#f+>{iZdL>oH#JOW;p(MEeT> zaSE9JZ{oypDeN^9m#F4rY?#_ySNDi$tBe%oQRK%r5(QIjtt7dhdUCoiyEpIz~4%bexiEVZH-v;W&lK66iVjuF|IVcREd* zGnWT@hE#rNO`K0w4rBuWaEfmaq>#r-Sx!byz>c|hXnLwHvZ>bQp$khv2%!jgut$Xl za1ZXt-QEqfgD2pq5=Tl@?ZzlBCf>U@V0oAR0cTQ-56hf|KtOriYzEgs@#l2de}Ds% ztF6on01lJxKj5tS)BFR@3B`YaL!9(b0{~7BJ??*iGf~kEy0r+83II;G<|JmMM}9VE znfoh60-oKTZs#cGjeZODO=O>yXKvc{L?q4r9`Wc2Fy`ao@jbTf&Biiny_Vu;6(f%c z>Q&ZD+B|8Q>Iy9PK09Ws#zfyG7iqd?PG;$$(dJQ z*ya#rJXRSy(lW+{%N;U6#uK1njbJu&rUS>1P@L$ZYb1liNYp1NPa$H6ZZ{>DrAy@| zWK{MKIP-3h7yh}2XYq&qunij^zP=S=D;PtBg(3D=Ocmy_6xbe>8aP0o=$;V`Ju)xn z*G5hTp-5TM)V;=w26F}6NiY6)j}QrIYuf{26SE|CqN?42iQvVYh?ayscw5PLX( zsb{4-f^IP9IUMLJ3*^MIVNGr~o^~B3{a1#QI`6C$8Wq4&-D;v!PobqzrljG{mm{Po zqM8;+G7x*k5tLc7+aiMMnkUia1LD<@j!FJ7)PDiA=2e!DSk+~9d1zv4_oNkvotP#X z0parQP+S(-hInS9wH^=(8sZyH0V%iH1r&@cUnLk_;to=V#J2KQ4Yw@>DQGe?|M0Ri zbS0&q{`B^Im~&=ZyFrWOH&YS<;Sx$)&7K^#M8p>+Z-^a_V{iMTzRDY8sB}+^%bZ%^ zN~R*(OhdA4;R8e8k&eJ8qnMv)25Lfbv>hkj#e>RftsUV@itAST36_Ij1suQ%$*s( zWGfYC<)0w^siAB$FlpY*$m}QG%z9dIE;{9TN3y{?(O1!JiFswWs+QB#3pGXf3dy7T zlLM8Vkn!6#I>Id3QzUh877ad;SMp8BVx zu_-alrDeKdMn_RHXIkf{yIL894#bJTgCElT$2emN}2mn<1# ziWK1uWYXkf8SYvPQ3z>SDWq-5cnq+eYC9mxJe&_mXk|aAf`i9G;(igyM)J zDh{b4v-$SHsoP|-iS*$i`9y=FBu_I8a2A9aJm*N~umIpl+52&F-Jy0B$s(NIlE}XK z_4lx}0)PW>vifh}BxItXQcoz1OvNnUe;~dytQORyc>DaPvUDg4|9rg-98^OL*wd2s z&o38mbeMVHZz?%0WKu*gJU*T{d#0bCe?Rs-6K>*N;ajlqfXRzr zy7kgyH+8`90l)ibot_AZ_vYwpsDna37&I zLPF>{m7uZa>^I0CT)rn~W`x>h8Vz!h4#VetV&`<9h}NUIu(h_SytHZj8z;TxUcPGf;G!-#(!IGk{<47m2l^a^LYb8<(rqLe?9Wyv#X=H4T5|41bH<%Bzl z{I;GdfrppjpIKA#-0UvF4cROSw>o_nbtOu>2dRhyPWkZH%TVkB-)f^g_ar>a-B0*rJxc3DI6`u6@{7!Pcigyutbjvx)|#Bs<7QC-r*W!w#$)KtdZ zgmfozxuL=a{xg(a9QX{lmZ@bC0Sq#8Z9q_hb)dQ^$Oj7fq+CCND-?#ze+LN9;w-J! zrqW&ZByuR)vlN!yoFfyAfXKxksH%9;Oae17PQh6;DXy>7{#)pj5Hy@evLYIe=_K*^ z(S@~=X|;>(6a*-@+-D{giAxDx96#RufE$DE$WG>Rzc2&X zj5q&AF<~(Nv_k`G*R+8H%S`o)FrTZe;ZxV?jaP|)e|+yaBV+f^?*u)Sr#Ho-?mfWO zJCWA2UGj?I5_(?Et~RpN+Y>C0f}PI4lU-@3{R$FGZd77_V`)8{qL%X47NTr{g1&oC zlkbZ|^4kBPsPd25X!})?iwm8Vr%TLNIPYu30rT=r(vV!<6{`0lTBpwdRFWsBLyuDS z(wH6H)b6z-@;wm2e06M%z6js&nN$&OPu$4w^|-G2Kd~w|N7_qd$g-pFf8F_J_i6vw zh?8gA-X!Vi=L=Z{A5Cm{6^Q~ipb4oHY!8?CnDB>BCUe|wmRH6R%5xkZn{~wolkPg` z#}Mep^3))kt~#(d8|=*_SDzSZ=9e5wg&&H(?h=w@gm)}?o&LB`p$vOuwbF9696Nqp zdu^)B(U!eMQ-7t=5Dv*_ol~v$HlofXFC>k@_cO&}@cn)zGClY-L8iJ(|RLp{M&HB4*)=<(w z_E#aC>9wA20%4+SErU)x%!HaTwZFU4PGm0yKYWcP8x2|eSHe#mpT2vC!m!^>ZM#)} z#WOkTLZE_j&3&@K_h|`UL-u^WqR`1(CC*l$tzrr``7F-*H98Z2Ib=z+#o$gLe;D(i z8zI9W^aI)SaAN>&;FLO|U{#iHnIqn3hq*uG)cv+Q|Uz(LZGE zaMjU%4BuK^+%~`y4?eP^tB~?c{avv@5s|(mqlq_7a*knXwo6nVVKp_?DW&QMj&Q+2 z@M<>-8Wb!WB*3^3wp>;!lCh3xb<^_=jyPBMzH;jZRKT;n_WcCBx|g=ku_9f=In=t= zMYO91a;$$XoX}WKh_#1q?6+5IOVKf=#7$htH%76y#b}Q<8V~e`j@7dl0q#(1qR-yA zg48(?oH5=Rb@l56!I3Q7jEd>X`x?UIb zA4G&XcmEVo`f$1HUscz{fmpFQ>8bg6iYRRU@NR!iJ02 zj!w>qfdD6Lnp710exxJFrBH@eDCOMQ>hO^G*|bkZPMxhX zwH?h5Z4SBqAFFQb{xzb{yV3Uz$5%;^O_YN9{lWE`TjT>Zmo}?6_b+spKOG-($emPC zEQ)}>S*R6ogiZJDUWb>=C;qCW{6t=zu~@!QKQW>zxF~R@%+pW%d*zXVDX#a^)yvf# z-0asX_4@9h=&E-xpGA{Jly^wlY|Acsl7ks_YeRO$O47EOq1H6KKG*0xrwB^O($2%0 zizcAL`D~9MuvakE2+nfJpDD<@m&laI_5Dae`O#w$Xa#6|BGF+gZD`6lwIop3LGH{M zn@5{fPLwghs@tPa-1ePZExONzy)mKcW*TO`i`!=2)MD?`ZPHFeGyV)cS!K9UL0`*n zs}(C$imaOZBPye3!KFOLL-Se5mX`Z7pWaxqapkz_BFsKPdf*S0S!t5?AWvx92;wiV z*eg?lr8X$uWUWXWMP(zH^4U)c)rx`V7TD7|=pekQngo4#O)G<{@?Y}_bqCsRV{N<0 zZB-xfGN5TLMTyTwt*UF%xy~ZjgRH4hGNK6aJ|xRIT=9hZzu_Hnt>JlBa9&9H2=QAR zAkGu$&>|!5^&OYbA4c|CtzV*EF&Ip(?FRERjh$>G`bX2ljym^av^00eM29GC#mr~% zYfM80^c9`%m+_p&M*IX_$@;&6o6_-NKGUfrDhPu1#duVMy`(uvJa+L}YUPgb>q)c2 z9-oZH1c8t}zVXCfGz(b2O~ zt9OTHCwjjib6Q)Z03Lk+3z+}8BmrGZ4U7Y>mrj?f!WL%D{T;uw>KJI={z>tO^+*gy zTfjks(*F~unk1zy$Gs%9+Jv8~g$K%htmq1ASH!2IiJ^#-(L<@D*a>zLhy{X57J=;Pj7K;PU0hhX0s_@!QGgrt_Q%ol>sNQf*K?m@)$P`- zkVIHsaoGSvD`}yEVgThYKPp;X_%bNX`}2wl(0ok>0#Im|fJ$I72p-FCskuWR@W6!1 zXCQq(h8#5RD|Jd0hmJ7^kqkSuaYJDwE(EmR_M*OO^!F0fP8%^sOgGMEj-@A#wc((g zjja@Cu0(~4@ za4lGq>~JwUCMXUjRqZh=Eg~_9&!ZEHq(%T35?(-Iz#I0(3GEgN zk0Eox)@2_s+nY29Vgiqd|I(Z_Wfx?h7iFeEd|aO-AU?$=01a;k#HY?oX9=I7naDqG zIH~2^p?XKoketcD5Y)t#CCLa@M}k8HH8pi8L(Wgm@{B(jofm-VGU%WiDRLoMKst`d zBAAIrSRDcJX>MazWF#Oy_1y$fwF>gWS(pOEr$Y@19EGpX^qsr{{~e!>gPE)psTi)e zUNt%_W*cYqC}e$)$$<#Mm)e2>BGkUm|Bg_3#PC)(ZqsO^jLfU3 z;ds1-sglQXZ!LaR(@Xtb^WL$yo{w+OhQVp1!%aok5(KWw2}Z~_4eQ^QOfo9DW8gI9hQ}~ivd5tj6%6hp~;aGrz>NbViYBvDu*@EAgMlbcaTbI3mIrm=R@*iom zx}uj2AJM{(aNY$}Kz-ipG~6bCz-)O>W|J94xIfF0CHi!?uPLkbpK@G3ztMpIq-4`S z*doP8;VMB?AL@#Me;@Zi!lky^^HOaC63n#b8J+e%-zmsm*GST@9==$HD!kxAZ#&>+ zE2f3O`cZDNiemVx^8hAPeT`8@^O$J*={1s4sFII7WH#EM_MVr{{`R6z6+%|<82P+aM}14jNYQn=ZtEHh%QKurg5 z;_SpaNZxBh#Nz6eUp~;NQLy(@*AUviftc;)qH!9UC*Qz1OOQNefY|_6HYO%kX62jF zY57H2I)$mfa$}07Tn>N8^Mo0{cM|n`isv4D-`E5N9+!{`m|F9wSQ&MfxhZ?t#Fv>F z`Pn5o|H~vueVMU`tO?6tRAe9iyu0n1wQk~~>II7?|3jtxn2AF)JCcP~=I-7e`+oNP zA*vTNmx3TWpQerXehWucUs&6En2YkLq^KY(F{__waU=Ct;?3bg`AlFGLA^JgnO4xT z!Tfb%x@z<(TpqBTH;+eb4?){AqY~9bdfRn_B*!<4HAHJkQ5q#iu^~?F`Sx~@eu?kp z`RXYvA2e$DjKTsQ>Lxrvo5ZNx&07SycBk?WP)Fg@@m~Z;*uf|26jV^X8 zFQ{VB!Vu{wU2!Zc(@hpdG8!bm7^utngfHlxCBcaP)Z*Hl38`(<&K$oESpgq*meFF@ z5^FaF=q32wG1OfmI>CWNCqw?xQk%Jjr}?$?6E_?P6Ey?N?}ap9heF#f;)=f*{${>B zMaxf?wJVmhL{&s9ANiK?7W>MZ^^<|1I8h<`BG5*p32{x^vxk$3zN2=#e{qO0wr$&y z0n=J;(kePT&1$z>Y;7)4OE$9|A)3@4(Q+ibu?My!pP9`#$RLi-?$>Osqb4=oKg9wYbVeDOi^X{pD-obrAg+SmjL1%86*=IqGeuo} zdyg;~B+zRIn~07B!w2}7B@8l2d$4JUF}#a;LD2kiaeTDFlxu<~(41*+T=IvpjD^A4 z>Pii$47jp7su0pBOA586lUQ8+r2hm#c|HGqty`8Le$y;&#(;O6JQ@WG5+3 z(bPBKQzlw~HzPKRm4|R4YP>IKTQju~Mczh5`;ygki0nLlFd3Vic29mMStECBt#>$e zL^5>SAok`+Y(C@IB{a|e4%g^O!xNf{3G2ExOwOtt2h}YD&N%8!OdIy7;LxL%t#Ih3adi9K#zjx`YfXK+5&IUb zhBO5KgE(Vwowm~PV_MBRm3JgLuw~m3BSO=#?_c$@TW$5^1Y*}&1IEiI1h@)06SE6! zKxiyjY#c71#;Xi0V@-p@KfR*!M6Dk^eLD+Mlfg1@`@V2~>_>j|k>JLg0QD5g#_fE}=gL2>o3n0L*anU`jYj zsM+1Q*RQ5pT+W#Z5!n0S*UvYG>KaSuRL10-kV|3h*Pq3kU%(0Vdo@T_Ky+bhzVO%Wf{5CXDOdb*uCF(|g+>UP?br7T$1Jk>&y{ok zcM3~4dUqHEzWFmQAkv)?PA1oY9~H?8{sBC_&Oil-Yprh9tw#ai!rRUrLiE3r6=dr_ zOw-F7=i^PP3aY8lc zxc}PJp$jFz2Ux4d2b|jcVp>I?k(a@HRTAJZIlS^uqVVT7CNu|oYPMZF114(urukQkI)*8N2OTq(pcQX?52 zoLe8jbvvWK0qpAt=}L6u$$enow204QC6reG{XtKE$-(T%M?3RACnm#o7qHvk?Eo{l z@JAyyRB?iTJ}@>4nXab314?R2EK-x)>C~f~15QAiB4o$YHj6K7JpNeas#%u(EMTc* z@!Yd{U&Ut;!@UubUaAUo3AvxZa)3aL;q~)r?m?!lAcg(6cULEq{}=X6(Ytv)gX=Y1jO#|FUnA}5J-*|&gExLqsK4`m<}avZ}tsn zH&LHPTs8Sv`mhySC2ebnz$wcOWqn;;qEnqr?6At>QW4oj3uoHCs#N@Y?-&`!w9Zk} z(Uu{tJGsp1nDutwfGQ2c=IS_WU8BARK~`ZOo~|R^J7?xx%?Rx7DL6(8I;EN6&nf$! zh3tW;Yx=2#>qzP)pjU2o{4t+2xO!{_KKeJQW5}Lq+BEKjBMm7htl|}mQZ2K zRO5#!If`{vD=QmVRfXpTL+17iD?Ia{xgt46a2ZOnr6a5gOMjWUl{XqOq=v-i(SZn& zXhKF;fvGsG8uU?AZt}RJvx{X;)6X6@3f?jDni%%U(=+B!_U=Xy*a&Yf!8=i!T$pVe zU&Bo596W*TUU+6uOBQ9h(x3J~MJU+wG9_(c@Rfz9o<2HLo}sjLRYEXe0F!jMRG&PpdD47C3fW zBg6t+y60%3#iDWTT-S~zn(voAR-NgKz&;kvc}ddK-5+|oPd*vlk}(+Oe*F&rqx>9p z471(eQjm(|&>-F>`opedbbjo$FVj8021SF!R zVVk+7M60wlkUza1m7v)*wKTu{{segEl*%LdelS+{3_=eK9RXWyTn zUgwANL89|p;#R5i*9DLzU0r665axgEe(GX!bKqQZ;*W?{kjajW)^?0KCtNaG^S(od zn%QdcI~#j?NhQP<2MpG8l8~3{nrW&3z+u;_qNbTBz_G-!t>K+x5Z}WuV31W@N=Epg z(#Y5~(+-`zGBj=vGf6xg=7QD)^1o78`DXaNhAf!^Ct96jjUd zyYGla)Ip{;JGc;x{F!;G8zgY>A5l5OT3SWK)JeWdvPrlM-e#*s5y99wc&C5xM2j)w ziZR1ZLtypNAArPo8Z7NSyZ#Q0SN2lQm&df_gL4beI^9Df+MfjI46wlJA7QA>=DY85 zh2ISl?Zpe63Qi)H7Gg2&W*LW;yp@zB;|RdL0E%yK2i2+H@rWPTY!I0&;Bj)){kRHp zGd~Kom>Z)+c*hvnvt`mgMePOrFnL}oohoTc>^LUP6POFCuVth%zfyP&d zb@oAm0pJHF1={$&qpG5+1qVyIfkSSn0ec5d`h?_6YD7f_W>30Az;0-TXorVzhJOW^ zTeJK>UrZ0@uj*2HvkAl9?~OZ(zlwe(LB;>R7$gRyrXApa$KQ(_RDD2cCk_z#0<)GI z@QxsX_=O=V0nhqBBZ-4R{~EZ}9=6iPBCzvm=1YY7ws`>$%0hmiQ#1H2>k#k%Jm`lJ zDC~r(Jcc4L5HTzmFu=`PV6aZsPT=$ljAtSnk&kn{uG)_E65p=R3Bljpt;^hj5ZHYR{F_(RwP;mFkM>jzfkwQs}faU{3L*SD3Gl3K(_>F-+$+*BHD}dzg6`bYgOCL&^ z193E|!fm(=HGJ>|C0A5jtRr`1FJRk1DJTrHmym$LW8fFUmO7czD>5P2e1M4Z?Ej{h zRIoem$Q9&9&a#cxIftnY2{p<6ieq1qBrzwZP-dr20{2=&7pDfJr7OYd6;gN$mno&l z2DWDl%LTV3@Jg8m3W3^10mk%ySP z4St4tw#&@mH3v#5<#At}&M4u@c(EUgNT7A(KY4l@mkJp9!Z*+JK<|j_t+){xXX#Kk%l;~mX}^^_m1>fhVfwVx720Xag3b`m zI(U3@sn?%K5KJ<;!_GBTr-n{wHA?Nd1^2O(--Z3rpwI(6bn&e1eUb=joVqE+J&p&y zeKb*ozD0L;<`iH{+Xx_TpH{{N5y^M_$h> ziwAohBl=d5N6$y8HMdFW=gi(7UrVorRa1VW5`g?TM;oe5GE##x8P3Se(F_1q2cFj>`@Ei9Xr0Sw2#YWC< zx28K^knqSnfoBR~fbP$bB>A{GA*_)gh-SEC>Y0mn#*5h7Mq-<{VUppr@Y$eNJuXkA zW;F|yHQhDS-A2y+&j`I}<+x$So!LUno`BrG7wCm%XBk+WxJ%Z1KU3cx4*?jvCx*9D z)p=iqE3H^T5=1#|Lha$~?3WUD#|WdO)-4yjII04&snHn%21u64^ZmFCa4yg6`ydxerOu z>XiV;@>JDbQIEKD?NCCtLfoIiuMi)Ge{Q-r{Ijy;m~~HkCnkShQEfnNzs#{TOzMc= zhOrP4rMaaWX9W|8cOler;-3+WLHL@y=+MFq>Tb(h{zP(2-7d+fI%$ZdL>+O}0P%Hv z+sFC1yRLqN*TpiG*f_i|l?g1#m`wWXoWB!-Ri0V7Diis9vk5Nrnp#A?*Y+VaGX}20U2w)8kpxD1894lqH4!@@BD}^H%iPK13 zDrUi@6SqU2s+dbqjcAhm6x-zDH`$-+fA(z(%7YkWQx-2@K%V=7gW%Ot8@s*uWS*fU z>U%PSf4}b5`W$@f&9k{MV5u0I)^odx&`|P%JC*f^AsgR_wq&0JoJVn`$Rh8krhP0m+-MNO&?A*8iLr_ z7L?rV!#*u>-;4^@EAq9~AMy#H+9EtL46>h)g<(!Ji()Q?jTSW6;Vp)V`@{QPh8Hw0 zNinC$Ac}cT!`Pd56DxRBY+$){;ajB9t57MFo2ZgvwAaYxsl_x_ax6)bS`YDQeuvrz z&Kv>xqLj29y9o%Rkw^%h3}Wm4!kUPYvTg_$>!}K#d_w-=g@MyhgZeI{8dum_r`8jmH1H=&^rB>^*z*1Y@nmlDZl^^MFQL<)=%}9=+X?7mU;-r*1O758$Z=1-jznG!*PKcpL zu2L@?Z-Q?i3}pwcZkIR+1LVW%#zr*u%cQnpyQoC6@s@Ij7Y5ez+okkCk!CETFANsM zx<@GRxlC1#PiRIJyMEc~-o5Y|ckpSJp%s`NckHLOQ^R-(D!iM8rq;iC^6s98G?nTs zH`)bY*U;2UDT)4r*L81g`N@``kq!FQuub2HRYzeE=Nly1PKw8wJ`>A$^hn5^nZFIl z6HCd`Xzk}<8lb88@z>mpV%VpAX$H)0ALgJ&W;*6z@jWooVS-^ejXiW8a8;1J?A&!QK!s2h5);21b# zCPon?*d1o+5Cj)cK90!IoF#KRl%YP!@g0XG<4OBZsaE!(q+{d%hPTL7fEP^1dEu{% z$0>4xydsZM()*kJsngy*^`##(9@^7dv*W!qDG~Wll;k8@0gvx=knI*|R9zK$hZCM* zCB5WKd7`y*a@H`{kIty`27MiepK;eSKypMXyKRb*^yuFwOQNqC{M_KJf{^NV5`Ye4 zH;au7V$DPd?-q1~k@vZhm#CW;mxomLN6v3BnVIR4uCXJkjxHJp+`ub*Jin!T zLz&%hHB=!rj1b~W@PNy2*(}`VpQ_lIMf3yeoo$wc7*|JfH_~Ezyv5!W}`bj*nFf7U~BhM6pP~i8KaF*8+-y z1pa9#O(qs5lRym4BBRwv4u>iFt8j>+vjIqKgnWei7-?xkbqaBm7*d0~bfxX^Ky{p( zhr1NzI8~HJdio-84HBb3b_k{Rr%4A)YdT5cyn8HJ5ak81lB00LCnL&?qE& z1b98yiDWz=e4W{2(#ZSibpg$B4wlPIKTg-Qg;8?YQR|twnTZ*7LYPDE9_4-Fd03ML z$0z&jVbDh_@ho0#5kjkp1rF;_2B zC&9@UkpQHgA0$$x`CvX+(62h;b~Z8Y`m~%t@M|aVQImmCCjPsZ!^@kMrc1^gIJyAt zRmn6cd*!blbqWO1J5&ohEb+QD#Yxf9F2rd`1+oIUG^Qwbsuvz+k+lF(eGG$m8738M zF2e+!F6>ecULMu04meWkl)Zw63gHmc(F463i!kDiX#wOY_-J zgUcUYMt~0H(C^Hg92n3ahE{2YM#V}FFPAOL2OmSF%Kq@gD1_Mhh`PU_41QbK$<-HT zX@vS1!r<^2dj7%sd)mtaZ5s)bf-6=Cb|1S>DPMpr2N-mTQhKt#y+X{UWV6}zY~N?` zD`o?wws|jZ^SlK{8H5B4_TfT_2`rmdpDb`%9znzf`wifma~r2MO0z%5}l$rK_CQDE8YV$X}9pDx@utI?Gthfd6K=R+&7OeYX- z^a>2L=-+O0*H7u*?-*bd>gjRab6KTQN{8u8*$ z5FJ((9h>INQIhKxmHT4!9H{pJ!-G&ks!o5VoGc(k!pWr1k7XY|s=!9vG1I>el_0F#wIPJ258JZh-WmI#OM`!x znOaRR!dagPDNo5*LNPDF-njf6ehLNZqt6nng7LeV@Q^)1$2fv*oZFCqOLo@70lbym zi4j|y?ypTTZ*z}*c$01{&CxsPL!5&8+VvW9Gm@LY`1ThU5BsbAuOxZbgkSIKb#aC# zDbV=tPw$!?x+5bMC7PvSC-60>MCX5Cm6g5M-OmL*W(n?Z$F zTJKi{^%nyR90Gb(FZ1kol4Q01i}F*ryxBJ0CJiUWprii&sIWZTqt<+#^1$23exCBj zCdvD8oLwhGMntX0MrwiDK;v*GwDlXC?w^Ji`COj&yN;YZ-Mag{>CCN!cNYfbOCC_O z5xDdR-P0a*-_?ee($7m7xVswU(s*`fb*^ACeM1KcK^+0KKjjf-7IRn?+gDR0Nk|kt zg1X~>TFUxuB4dz7G8D{mqj{z}dJiCSkgc{}1)W3PBr+nJ1QcIBsTAsdNk#YwFrjKV zx*lpG$+ojuJc*Eu_`32wwSLpV=kq)p`Pv(HvA$>p|3UPK;KbnX#0?2bgZCniOY~0L z<{W%T*D}SUZ9fh==6%mPYim*|v*5~nthe!3lL+xk$D2ryB;7iZYz}Rb7WNhbKI)Hd68Kazl;NsoTB%Em|U{%os4rhDtd_mb&oq`L?{? zPy194=K}9kS?~Pp^WNevfMY2B8>j*0l<_B;&xib2!szdlvKhQ0y0&jQ5U12YwHk2o z*2P|c=49nw3J$^y=cYDST(&?2_F%$iqJW-d(Fs$w3j!#?$&xl_5|^tYP`?=A3g zS1Qz}H@Tf=c#q#5&Ib+`mi0$F>9(CdXZvQ-R!-X}6T{xb2d8*lc_1OC?$+}L0eS*ckBE<~yXwd=%EB|&RukPg-la%fGiG*m)`qiv z?SeV=uJ`%mXwZ#RZuHj{`zg{z$`S?)3wnZR=x-tod$KY^E+^(OZ@48@uBGq7@u=Y} zT3yO?hB$n&-=njr$}d`!W|ti;1xZongW2gk%&;Ko{si%!SV4Y4@WKGW=RiO{&%YcH zpbZt)+c`)Z|Ncr&XWm6ZSF_^9#&Ou!0O-9c3$(-ypLhWb;ETXGK!5*>TmsTp>EizE zBy#%5JP-B`2i%gsz(yg06b;>GJ8g3wZ@NcMEpVt)fl7 zwA*+Qz!oroO`Qeo1q}U;v3X*hF;~Kc2w4G@zTKaE&u&& z+`{Q4iM(S^vq%mafF-S~$YMS5cq&BH&|0VxvP-Nss(Z2x&l>WB?jB{M7b|tg`V@DE zv2!lK6#mbc%?Rk(J!(16X_xBrmb^IlP61D5ssm(`Kla1RO5Gu6yJ>)@5!AWA@x4?zR@0G|&l(D;9SK7hy!#(bxm35eCXI8}pV3u=V1 z4k?J;zmXXRmm~U?KWkfp?6kWvL}@D`uvK|X5@-P3vtR%DT1RV<38!L{CqJ3}7^}E4 zZ8`#^JR@!o97V~2{$9gVT)_tcRK&RpU&IUsR8(zcWZn<5KK2(;vo)|g2x;_3={F|Li5WUkIc;w9UmQB;9RpWMhSUd`NUu&yz$KNGAI#W zQOKMe!Sll*pu*&8jy3%YR>HgxV7|#(=8u4Ku+V^*DMg-kL4E`FJpbpf8qLgmEAXIC z;zsw@+G2G8^>d3@^ceW}uex(XaN30mruk={97+blc;^S&%TZ%7IQ@zI^}_+DG|lb| zpGolju|{%W^F)dFFKcA{hKQi`+-rf_KH9i}I(>J~oSMDPyyU+=A^G~ova|*DT|0qB z4m@j6^_!X9*wcK6Xj?hsN;ANLV)iI{0XltvHTj>3g*jXVE6k-1^WNWhV1({8?uj;w2P;XLWQuLg_*oqoseG+nCdbq zSFb?7%&bB!e`Kf_PO0?RYIMlNSl_(HN|U3 z&X4nc3_lHAhW0Yi=`K=9$r_%Owapn--Wq|9Qc`A81t#1p*DEg0nBq=9J6cmCtc!h_CB;Z4`W2rDJ{S!wy8VOpts-P1lfw`d^ zg!oKrV*0UBaG(V2;_Y1!f7}0FZGeL<-Wy$cjN-dr!fA*56hAJM$GF5ta^8q-auI#ksm zWRBo6XJ+R$+iB)=<8!7Z_iD+;QdNHL50;5DEcRrbwDW47XgcA`vTv8I2EzPe=bL); z&=Hs8*|sek+C))PK!UC+lO|0GL2eg&n3M7B2vmMTiRn^Sdq-VUU2}_qP&nwgdLYBs zzVz9_!i&A_X^5?QRFYbgF;mG+c6m5sIq3tB=7--x=D>Qr+{;1bt;34Q@HI%#{YS^W z*=tinU2@ft(jBDdPCedFMe^ozCgl3Nq4YWt+ViH}K*9z8{5<0nV2H2KFV~NB`48|f zrSH)=dT>5&F2-#^$`kMO?@#vQ(1teg-vKb0A79CWq)A4382LCRn2zzIA&d_3ye*xZ zpsQZ31{_drqVopChb2G6m&ydel1Nm-2G!5?v(%W{ek?6(!sW*l!sQ{^FNSLI@cJ>r zO?VCzrU9go>~uN!vu+bdw6^sn>pMR#2iyEfc;f1AzJ-2@%%u`V;yF`CPU~S|Ux4=c z$w)_ukv31NO~d8t#gK@}`#OnCJeH~bCLv@YkpR*6UU4&E0dcYIWEn=R$vQ`jqoi3S zTc`}Sm-dR0v6oRTQzwNWR(H;tZ44J=ARcYR!60=zw(Z>Z?N>yoDaydR%`G;iD4HT* zP0jK99dsWE+|Q4Lfdi(PTc3d_tAn>zi{xyK8M1`5{72^HZ1JK9TYHWv)?CD1hk-wN zSuq{t+xV>-{g?Si?n1{^sugo;V~jXkF)bnZWjjZbLgH#vKS3&I$(z?j$5FMEgjOxEqA`Rj1#X7J=u2w3kk| z#(PBHo~|t2bknMKBo<${4?_VbO*XNf%e7Z7hc;4t@8dyeTtz=kMuByg$|S6!vFgXX z;4S$Zh(PuLCHKDAA^q1Bmyytl<6_}=u{GOBg$cR1xch$D(e&aVI2!N`*7)z37b1uB zksH)_eOFs(V}mogDQS27Pq|%-4Xq!cUmQJr_^}-#52k(JPA=HGvC}Tp?gT~@`#Bf~ zJ>&O&B(nE z=3}gZ1bEDbpFbHV;+EMyid+Jn@fd?})dgGvkVGm~TQFS0%3vEA1?0)vRVo!ARdzw` z)d)>0j7kSCcY1hGuKU^gg1FK5onCXVZ6sjhf)}hvwu3$8(4L0ICe)50MNGw7@)aGW z8I2QEjjQc`b^!LUyH&W07=UyH$z)MlM&YVaTMh)Qu?0(qlE-+{uv`--N{jvTj;AN=F>Hcv;Lx-sm?%U|EEzLgIKfHj1waY@$u+5?>@oULDo3U(N=l41CY zAY5X8GFApmIokTMa+fqdM~n*YmQKmtv&-_~%2@SSgGpHi^&C8<2UQvkVP=Rfgl4}*at_M z3yHB@MNOU5ks?_Qw*xqFpiW!KcGHk$>CXx307pognI~j5$lmZvtdIXKmL*l)kxdR} z=Z_)QIcb80rrZ8((vY{+F?Ra5thX_`tY$mc`|Wdmk_{2COI&8d`S`L;JGqp=&h)BAI)zPT45FPiV|GSlY7Ypn*n=;WX^xOaVUgKwE}W|MS>& zx-)wvQ!_It5Su#$I6zTC0KixYfOh_uvC?+5&aWRzc)qX zYXEi6f~BJvpOjLwpB|%^QLvYhpqHbOR1v3|nv|ea9i35v3K8c%JWi#+I7>fMIdO0R z2HHgaak&d({vVnUHooSwQlhbRhmCe4;l+JQarIGp$+#9(hY8e^3ah=J2NHA#nDPHF znox(*{=YQA;UAii{r{gPj6LKtUn(VjfO?D<#aiTY+q^A@%Fa7oOSHf@!6)p38wA`y> zO`Rrj8Aj4mW6ZoREx`L}n`Am(5T7_mG9yF9>FjEFd3b$W6q*!)!U(?qWrDdpQSR?R zTQPRK0i&YsQo>kTzgr2}a8b(az4N$$-U`rp4bkx@I~P{*%s$1`_UW=4@3 zQ>%}ZN0*mBYf7X9U3vB3 zxfYIU>{tMEaa`($Q+#XC!A5JA)|1hxn1i0TlGf?9S(to1I1({=A4d@>=L)qz5<=$U z31Gc1HP`*-U}u}|CQoGbVQO6q@PN>*U^(w=ZKcQdNw>m=bs|D15-TObGOi^f@S zGC*BTZ@rkjLrZbCCRln7=1NV;i)RX2(mnQGcAM}L70F&)l^wt4PDkA$LP9|LFP2sv z1uCVAJyn9?YJ?ax1+iKqcXP3FpF*fLP7-VW)JC6_D{fLQ>E%!NJtzH%^*!=X^M1HK zNm@;uAY&mV4sfawOcqJl3K>F7Vk}%*%EIGz@#7pR(WMy$;8%?4ii>&4UPqKtA$o%{ z^BDe$-s->gZ^Y@KM{TjlZ#8E$N@L8!OG=9w+@-}8Or2hoHhd^tUuFx`!(GPBP! zUA67zgNB~8Ss^i+0yxgzN-S23Y6W37k6OV?Gu2-NAGJ<(dcpZO+>-Bx0ZDfX1s{c# zErVqTW@4c)Y7MvG62FNn4N@+R_yfDjK1>|EhKN_YHi*(+)~t|}zTUqYQa#a9zbpBt zYiCCO+Wzd)xcS!E3Rx+1+JeCw#fWGnhj^X2`?!XFXmoZO7z~AI6G^uP#uyQi0L0Td zmg&mnA)Ix20|4=KU_*=8RhbIp=VTvkAuH~dq5DiNG`dVuRR5%<19~+g#%v~Ni zhsz%_x*1XT-?EY#zbWQhNkl9hgZ#J|2fx!XRzRa85$e9e(oDpyuzly-1-W7|`Vp#P zxdg)tR4TQixPC2yuVWBUAa7MHl?77W0Jm1gF)h_C>^<4(VMn+bWa{^4!``-i+KoZzl%(INaSWy$Z&!&DoSC;V8kS7olpLYYo~WgLc_1AyC2zsKtdN579CS zTMf~2{@4(mwQw+TL@Wu}I;gksqu$!%ZZLEIJg#fgeg^Z=KR|cmy33*;-jJ~T`da5l zeYF=zk+*^jcl~oku*HOn-5qw~7A0C7fLJb=ZS-rhLcbwvLvJ#M^0JG_@yCnB{pUw? zqMX>mx*T?2LPlOGT05&FeZuznM6rli=3f1rtPW{g?>2Uj>g3Z;h^FQ^gLG61vx#9B zWn$SSkSj%G8@xc^)gmy3y50LdMyf<&iTA<2tQ1NV*==eb7kWm@Tjq4-pPmzzd76Qo zWf7SNi%>ySM{TzH!)L4IM1R8c|ELS#Lng=klD1qzRSn0HJX9I6?LDxkSxLff!H{94 z@f>1^Av{Xo7OWI#W&FDC?sbP}O;*2Wn}O2}+s`m3i#uI+-9ZpIC?gFgYTSApv zY-}apFqbYNo~-eb#ZzctrVzYnl5bygFsbCI#Q9zP^8_hhs9GNGB^Z{_jsd8dP~@jf=HansLceIakNPxc7JO7!y;3Zs(Y9Y0WcciMjJ3CHqJCQlu;DNWAdKIzalR<`|^G`56`cjMmBaOI( zQ@EJBXWP&HI6Bk|yW`mwon5l-8x&_hlODhh{;yZwJqF3xGi53rJ+;B6T&0WKMGNQ* zUXN+S3^XwaH*uK=66~+?-`n0QXf<_&l+>;~DY)c}bxyb&$l@OyM^{HrXIq0dZ#Cz|hKk(x0v}Ve z)m9UMc!-o3FE;FS?v`16tW=PgqKDw?zGY$HG)hkpSu0TnQZ%zaqt(ko9+VJe^b9`; zU;V*=oqeq^wqPJVFSU?z{PnT-su=gYr-q_2Z#8hi4s;4L7yLD!VQ98L@x zf=$FEX3*6^nS!k$kV|jow0#-gLrd9fOD_8C`-x9A$1V3SW?lPl=!|#>h$pvZE6ha5 z$wh^?{EMC=RcL{U=%TI@V7MG9hb%>`7f5w1oV)F$zM=m=YNh z_!9TK#_mD&`=#VFZVOu3U7l1%Ye0u}vC7W4Tr^4G($PrSRxmaRR4W16l%QaAM2MUY zHr8|Og!ZD+srJf!Y;^H3qmgoSITHn3L*{ny4NR=KEoYqWw5ms)<2iC9SkWOhjv#uq z$cg8R5`!*#ve$a*z8>U22i^q5t8cuU`g|l&4@MM3azM5f&^3rn#=S#@ZBF}@r*kI} zJjx&OBtu?G$By+YY~E+5dF?yNJ+wm)PJcx=PJ<|faokn%*{T<*MoH}!%idQb;C^{C zBENcZqX>$P2}s8&HfNT(Ki|o4QVosG5#ByJJInsu?JZvud1e^Z=cmfmTT_34cD-t@ zk^Xqm2rhpy`yRXJjimls!AD&&EmWut`=S}7Pi5bIJdrL92xST(x*8SyO09aagX>ai zt+V{=6S-M5=?oM#&`IP9x6;}mBbfx8or;jRB%vLkzDj7DoiXTjh=(?Nw@mx`G29*) zNxj8a0gzzp&qC3(0h!ljUecbV7r%(4t45{}qzDPM*%_9eE_7p-P{cC6jSrU!l%u+kPfPs;y8y6pme{ec2e^}&w z)mz|#sHh3JrO`5enK*}4AZngUql3;gHi0`SrPQ&yx)fi5wpj=KX?sfIwNhCnTOO4bsLdWk}-YCEJB z3Al$6rL|H9K#>5M97^pd9PRPSl7Kaq;K-25*j6UaQ-TzEV09y9bBSEonI187`ZP2| z@2KvYALhh)YHmU-RK5rMUW`7cw?|kjP%G6o%ZNSOOqPbWxB#5OKX3ai_x9R0h{p=j5p zh~X?R2`1{KQPuzI3)pk^!jlr`KZB?HxP-67A$t?xv z%t&m92iG2pq{I2FIx1enXb*aoj@bMvO^3`U?k)Dnw&kG9!p{X9v`eaJZFGW-COZO| zp^l_Dk4^w~Re7l)$P(UiMUxr&lq&Lf;s}d1ZH4`MLDy>cVbY)(=reP-@jUP2qNZC_ zSj`xn1Va;=c?pjmYe|av)B_633QOZrjdoOEiCrR^p2+-uHSB;J_x1cPl|7%SC*-nb z;CB+N9Hso^_Upik0XjPJRyR~sD^AIZE2GzLsmAZfFV3GY(|jSGjt+R18REqO=1zYq zFmF<=^Q#m})?|eTT%>8&a>qZ5|6c#&Tep9BrfGNw2vd8R2>V#@zgZYY z1f-Z2trcpuh&9t%T-;)!F|J?{SPJ-D-7<6HC_%epE%T~NLh`cltO1efd8^#-HzFTL zp`7mrsE^~B(c{|O+fh`E=anr;$7_AC!D{UND|e66)f#^7C+oL z2Idq%LzXwLHayd#;L~3Sa$H~%>t484*=ii2xn~qjNSl%@&?q2N;4WUUU}N7gyh)JoeC8v9&*483kxGDbCy)f}FMi-+wPD8+0Qd4%#8^}CRf z7fWs|R&0B#R4B10s;V8`Of2@4HNL!zFPg}FX^1d#eDDaxb8?Kaq`Jff73l+1QI`Bn zsj4ue!q--x$d zNwj}L(zt@wu$d2ZVAJ6S$o?>^{hW$G9F@y?fu$GH>n?1a*vRU!t7P^y!q}c6)z2as|pYou1KwEFA0A8mdANn(S z?D+M_Tj0Irg$Hr?SgdGFiE=Hi*JA0%zg}mOQ7!x#{5`Tl4A@PD0IenkYMhL1YFU?= z2slv>E@I~zRPc_%Bsy|Yk~Jw6KaYb#w4_H~kJuLjT9z}^pCL)r&p z!K5J#_p5^`g7uh5>3=s;>R>pk5{2dl1B@*JxM|CrY)unGebK;13&2esI84aYXEHA` zEI~U82W?+pYczx`-Pf02JLXcQb@yXatrPn}i~!WpaFY7x6tI2-q&s zk!*Dik?I=aR+zRHb0ke-I0nES{(|xpQ!paKZMU3Ay1Zw0FTE;O)^HS3SRak-@LoNv&jGO0V?5OuG^CoRf&3b5hFj3?g zm4 zbjexFRAL#*ScS^Z{8bMwF@FdN^U5jHL*_&kncZ$rZcW zmg2QyTPkmb3}6Xe*CSCSwF-D>lXU=4lXV6j*-3YhDE1%J?ElRNV$!TEt+|c59LAhf z-_TFjckpA9^>DaaR0+6JmvPD_%%jm~7VC$tz}L0{yDoNyWVJ`+dq-^JeugDkoW;6( zbarvbTkmus`adqGn(S6GBSU_!FGO=CR0X$bq{MaU*XI~DtB2cqZuW@4HBLF(T^6`h z=>T+^dW51pdLFoS#dJg20@fnck}1-B7LB*;lexN<@?N6|cD_vF;lYXyJ93V3$@&?m z)m9A=S1CZYJiCd&uc^_&wh(;Hp>GSi%fK_^?+Q@g}ze3VN&%URZLcBc8@T}3pe|;Ol z)uT^tuq*R%@_7vFB*9V{SylYFuJqPEZOvPVXv=FuZ_~{<8WT!WvgxC{Jak*=brfp3 zopl(wKH(N@F*jQD8SL{*IK|Q@>}q#9Ki;OAf|n{&=V8-({UX4CVy}Ut04?$VH#0j9 z6{TDP#@`yqn`P-~fPLf3FKLTpvbK&g4tRbK!N|-%6Vg5F{I7O@onSCH5cCWPj@iGN z8z0#g!kolF@E{=DW{Uq}XtYHjCNU5!H;DEH@K3;z;YPp_Kst9-`4AQxTy#%n0){H1 z?N8>eX<}y>ptvy@a_eZomG74D+8wG93%#CAHel}7Q*1fg-0X?fn)ElVC2`v2S>AEY>UkE%*ts1 z=2)i@C6VZHFS#r=55&R`Pxlv?13(6L7q1)h0~`zkw+|LN`!n4bL&iXXXy|B3GZ_j87MF271y@qnwu)MgM) z;;-Ia#)a820A-rO5?lZW=L2TifyK(`9f$B0liAeGoLjVJt32&=pToo1VR?)45hr9+<6Z007zLd z{)UO?k+8`m7f|8VLVAr~#WXNmjg(h3p4F8)Uwt}U<)?0M82RCNUirma5sREp-&3B#A?FF>{4oP>q`>|Yc1nh z5EI|$XMX@xTd z*z3pDuC(#+AXe^N+tg{LcpB~wRKC3z{fZD%%{j|1>k({z#7IXXi5YWr5?nQHOrin> zM~)H;YC~#0Fj^4EN~b~@8$q&%!#{;_K@~zIZ(po3oykW%H8a>LB(_}=%#xR<{IL1z zu5s(onUX^`^p%v(S12iEE!U|gkHA-X|E&TgGlqY>4C#12okmFC< zG^YO0i}n_w9A!_E2&|mW@Y&J390y8CiJ(RsigY9e5!j;>JvAx^GfLq=tJe9k?d(U$ zrFWbve_kVA6mT;k2Q36txo;#l&^SK^f1)uYN(U&Cnzmq;22cp(qvi!bFs9om`DfgK zHfqK(vewDZYwBK1Y#d*@8uGN^2u~V-^ZDqL;Lng2?B75u?f5&tdU@XMqV1l#v56s^ zcBjP4?1wz$k4)AmrD6ILh7MT@fQt>yH}ebk%gp`+?}j_XE+v0=PMZnwq#M(tha0;l z7fX=3Wd#rJQQw4vGn*!FsHpDCKk@_A8FwS0^- zhL5*sBo*Xkhotc|XaJkSXw*;^S^c!VHQJg;6D|ot*s~H6dsa+*42Jq~$*WB8$tS+# z=_pz|pWvDfB}aamx8LP4N7f2z%M7ocmrfqmZFG)qR@L$?9qp(yS_HN)1!_Ib9}cYI zva+aARln+|9~jGW(79kP44O46NezU5baEqYC8UI1c2*M_Gj8SJgZ3_!DO1I?I4SwT zecM;KDu*Ssdh}(cxL;JxZJ;kR&rfny)crMm!*%y(lHv;a8Hka@+XiOka!U~gtQ)c8 zGYAM&Hi=a`kr4ynV+Q_KuJ8>Eb2o__nP*gKT>7*hxq2cQxkUzfa1}oyU-Rb3ji=CvF@ALVQU3W<$!~+2 zOZ{gcG9Yxz4@c#W&%LX_4R(CxiDa)9N&DDWbo`JK*el>jK$I644`}bZ8KfB`ZV!bq znfB_Nmq#;q%r^c9!{KY0q3u}wqu@p}BAaz^wdFs!;==DJ48CyWCVi?2L^TXPd<7hZ z_5Ti{`Ai&@y%}>|PaXRun_rHx+!(eA804P*M~8KA4gJ4^5Eu%REgW$joo4`12!N*o z2GRR(cRLfh`j=ihWUT*N6F!moLw_T zw}g;+pZKJ-7|v4r18~31HAKJ@{*%1>e;&~P(?28cyz%B^`!7#*AX^V5G&v98Trj#H z9D5*9p8p`?JQ~y9(!oR&M8FWKNO^eMTl&yYF(B^_Ed(NS3d7C{2m-xF8}y=9d=HBdRk^5CSs%2 zgYc~W#6(Q$pnSu(wsg+&A<|cm@;8yp$n+Qn*&G@gmbQe$r32Tmu(279RN%UsBUtOs zs6;iXaG9EYij1m3sz!}$rEE+Jg7#NZIdbB(z8U;}5M^o>kMf(0F-Q_za@a5^CQM8@ zU4r62Yg!Lf#Ohipg9veFP(aiLtRxq}{(#r^zl35_lf1dZaiOWAxh<>xlVZ>JHYb%9 zD6;_W^C|;47C$XZbp_c;UwCBarHQ6s2$ zbmcBAT-_$8tD?)P)^i1pA!qrX^XYx)0ou;p548_X;>n(7D-z3nzf=y)-HxWWoMt$m zr_ZZ*>^93?ypNjl_HXi_D+hljc+EnkEuj3C3%o>~CRHCUxa}7wnGfW69N8>BP|fT| zaKqVNa2PB-%WVse&5i4gm*3k)up&j`q&TQfNN<@GlJMdCevnqPJHD{j>Pq*^iltAZ zb1DlFoa*P@*b87wt+ICImzry|HAs0?T8dB!opfy~IJ+-a!x!HhQ6dSchz<;jndzvK z0AEEY%$bDt2L9>HwVA4(hxia&)GY=GEwTy9ZLp+s)O7$?!M`81YNE3fU{Hu&oZ)HFZ7{a_Y8~ zaMFOnsX8W&Y+hklGi~qr58M3EO!W@lk(nm3Vp|#=KpvFJ2b7xSzs`Ynb$9kj zI0bVIHdr(uJl3ChxuSlyh-}3OlT=@0T9o;^?41Q8*J;LvcA_q>9)u{aBslbqM4Z)D zsytdzX?Iy14S*uM3v}_d6-<{V{v8Ua8RI+PHUHt2>M0Y{7G7KRceaZZ_?Kbm1_~4E zm20bh!Wo$`xuG0O`IJtog!vvKv;{HaB$?uQmpkr$tMEKNS*al+o<4NzK$;{t)`_*ir9eUh=^;Z^6X5mOi`mnd_ zjS2mrofeu=!DKEL9%hUY`PxRxX_|s#UTZTf1UpKPkF_a`g8lg8elM4Ag3Tp17Lifw z>E+3zI4{Y~EL_~t*XHDV$kTdv$D62<#Iw>wa2Is4Yxw0LN{NY!VLsL~#Z@9hcG*T$ zq)QD^gYOzFph>*Vnx8^GrDyQSGuuKTlR^d<9fO;ku-|uHX-?7yJlhlTbOtf5#$Xbp zkHci7X}4X&h@P}r{hhh>8^XnbC)mEE^LM#c$L&pT6N-@ zxXn=0(ajVfZ^;xj&Q$$OsUv3QL=EZvMf`ho@)j->*Vgm9?igZVmG4P2e&1h0YC_5H z+*R3Q81gi$CYAbHL-lWtd$;L1x@=kI8eN+1>f(NXc#ag|12u;>VkW?CXg6Lzd{Yuk z^hRi4OD$D8fZHxLRanu+>9-S!#7jrvR5Br;w|+mXN5a@^i~3kV0gR_>2Tz>3KF~vY zk-wbwQ&zKpJb4}x&we7?BLiNNpMxv3XH@T#4iVSno*+BlUZ%F#c+E?H{o7|ZX5ZjI zcX130X3Jd(6Fno-y(WtgR8_u$mAI;kp}&cBb2b&Bx!cP8+Ue~I^@u1K{_Jl(1HwJ1aN7>!Rd0-HoY@ibwWg-A z=Opyh=+n_;(lV1-YCAI7e3@*Mij8j?%>k84BN3#JT!{2o)aQH_?atBAp+<~>mLxtg zK?y77nb0WS9+1_t_Zh9C*$})(v+k4_EO~dkIbYrNeG*p5t%GjnmB7&v7%#H$0PERR zBSm6!@vrs#x_eD5*OdF!iMq5p7^0{~wh$1Tyr`FIb@uGN%xO$#j%1elMmtysu$1TX zU2-5{gJ`Z42Nj#=j(sFcIzg(!3oT^>ys;AIe-Wv#^baQq6=B<*QRjP!RIlY^r)Z0l zcow4>+c1i9%x22?@6lba4K5X|pl&R_yDqBd2=cLVoNCAZobC(wM?R*p0Vkh{E(S>; zt)|i#D*HHln~uU43mN8Acse}=y?Kx^yVmX5%zV-Fn|y9?kzb0{1C zM#P#2Ww&mTNNkfv`2B`U>#1Dq*^wsGz_tl-FKlC<)+xS&itARTtZH|c`*uA)^z;(N z(vRXsVf8-NDip)nx@kuo{rTIuudse#4rDU415~;<$A3A~T#E&Awtzd{%W)&pwN6_V zu{KGMfl!Ew<}+s|6DZaLN|%DfSv>a2tdCm|5p;x9$T|E1s08fdXH2_<`GvW>DLDe0 z#iCxd31-kLSi(rT;coi`PXX_7J1CgXv-#pt*qTDAETD5Q@li;#wXLmY*AxO`z+JbR zgNxzmtohsN;sXW#sj*+I-1J5+zD)rPz*33~93D{tETzT%UBvahI>&`+Q4y{irp8y@xQqwf_0o&6F!dqm~H)DT26d- z%UN8pioH@hbb1R05LQ4VSrze(-=M{>1o%ZPD-K1T_^vBf?C`T8 z!wvxvNnzg5$|6v)E683aS5X~+sFX)56}~09>Uwn*xh7F@y#`tlZ;=2 zDb-u)UVwy^>9)V6p?)-5oF~7cTJq4sTA?#Z;w0_O2WiYDdrSMCLVm#Tm<@3{IJWf@ z$bK{V`RxCZ*;5DeKS}36Quti){<@SC$Dt^L_MOyh%Yr{lXgN#aY3Z!sS9ibhT(REp zt*_3dz2F_AYbAs&^B3H@JDm7sz_{n+-K9;=XpDKY8+! z`-g}62>Ki{>}kfh+Om*Uai)E^7HVZ^=m1^ zLs4&Mzv$|XB`GDNbk`b^#iYm4CY$P1@=4X9N2C*C z)X$Ci?ys@&_isi}may-*JF@-NKDA}&lhXvS0()I=n4t_PZXqTS+9+YGJc-Ojbc0cp z#+yjomO7^+WD^#xHfRlfXa{^b>6ogMTw3+bqPgEV?lk=n!dj(+qeZ-*N5$!cPt?W! z>a2i-JLLded^wD<)3`wlbi7Ss*x<} zy~_9$cG%#P58|H%aWl;f)*Y{e8zw-VBwkyCU5Xk@Gu0x#svaTzWaOkl2H}X5R=0gs zQoA4^eOjaP^hCH&<(9CEfex)ZBOn)GaIb^rivaeBN3Mt#3#04dqH;}J%V(fCtlWOI zRgd!bp9iB_ETIpFq(y%n~#OjHOCI0%b84o}x4xf}4fW%SlFrkxMbW zQ5j}aosR^tAvG&D`%Eu-nZ;ZQxfn~lxR=Gr`b9Y{bB_LcJ0Wq@QY({d_7nN}_++s2 z`D*B^%y5xpJZQVML2wqBmMd+D>X>K=tW+Q)vPoDzC9K5Cb{}u}@8YrE77#h-&V6r) z57sP+nZ1i(*K!HR$Ka-~y|Oh}LGe=ZjGf636}ridS`*~G8izD$hX8(InVv){=1)9@2oxF%sXqXS+geZNJxMhe1k?YddAzIvZdow zLrl(l4hMuXB0gKaISTEa8wazbfJET_%x0ju^tES`Zz%STE@-Pm0j zMxm10aD$J6;m$pta~^j|mdAmXAp^H>0Cnwn7+{TUuwl#dySJS?>D!RTK@So3M_Uw2JoB(XKwMTVaxL$veumxZOAm^ zDACZBVLQ8J6hNOJ!x7|5u)^GLoY;w+eV=}UATEn{Pf~}x&lwQ~k3-Rb@&g>?63S)6 ztJ0n`jMa2ihnTg2SUafjd29+eEaHQ5Y=4B>_-8ld(eM?Fqfw} zzyGOdZNo?UR=)$@j1j$W!#Bo}LLu%fK-mCp__|vaDM;vgv+f|F8z><#F;w;<;VC28 zApbm%F4aY!WhS-MaFRJGwlxkv)QTbflppU*tcLA80?3b-!VP08gF4W z{wQ^v#IKG+tC{>X<+E~g?r3OuZ!E`Wzu=0%93{ef`q2zgd~<##5miO@OY;8mX#Z!}+``iz|ZC%GnGqWxsWX0zk; zJklZ0Z3kGygf=Pqdnh{T`xutSM{>Vx^zc%o1ehk;fAMD0i(!(ke_6Z^22PDnK4W9Ii1o5tDdY9r=+HqNZaP=WEBb|gn_N9^ zY3{U^*~(|5T~?O5hEr;(Jf_orrnU8a*O-*0-ZE3{YnDyJ3%Gpkot=3M*-5RUE)tXP z|1?nW;Neq$Ih`21CcMx0pw&k`(2AIJgSIC2fiosnaApluXk$cPkZ2wF{ERN&(`UBw zW6bf-&rD~tpJp&Nhn{3LZ6?%QG$=9gt(%uk<)611A*gmo_;%yPaC`SYO*g)CeCe^e zx-aGE1QN>iQa!ga5hf09@ z3)*0pHV=Bt#VtY&M$p-JnzZBd)~vGBaHjOhciOA@#>BC4bh0-lx2|UYUT?o^D>5$T z*brwXl#I@#D;UN^U`w}{+?{0+k|IMo6s?+PL}AU%tUC^qc0+Yjdfd#2n}I@4KfwEz zJ3}?KWcXbmzZxUSdhJwG9A4-AXI^!5*jpi@2FeCcOK3)6{#`HBL3TCsi-VQa zbAcSh{W(CNI&w&wu@Z%b^T~XC7vlD<{owaDStWEM?EH+GkfdXKYv1%Kr`6VmZOWOo z0BuT_YzDg{>nKh3z31(eDzQ*cqN8*zF$RGsJv5XrwnSeK3B#U6jy|MRHkJJ5bW^wO zzJX^c0&#r*&R&FahK{kQBlylXT|8-r9w(*}=mti__YFMgk4qKMhFoX1;=|I@lC8a? zG$lJXRb)&bV9KdnZJfF$w;zXa$BiqYSe0aceKA+QC15+A>zp$|9bZMeJV>$u%ZmA0iY` zg$_OB;SH)NYP(h&rV$q;NHdMJxt(ZUuX%uf;PU9TDzNE-)rZ?&E@jKUG>f5BU{-<8 z&GNx2jnpQM=2TxrImbESX;_2z^R*VYhW#-l+L@!*{`ti{^KCM- zr#v1@s3~qB!3Y5Z{|Zc#k$zGt9wv6So>z6l8anpnQ$ON&I!op_B5e?jHvfq?^SU4@ z!t-2CAEs>i%-?>H(svWJ1+3R?+A-Qw%@CcTtZKaraY#m@4G8kDpg5pmjwz`zbs@V| z7z9`p7}$jPT8tP3INosUlK?-kiEeE|BrngQf4*&Fi1y!wf`SSIf-;|=18v>hs6aFw z7WFnHjNun`f${3;MnnEA*TA5(PEYeYw<7t=@?CsBcfCvmJ`Li@f=xk9u2>FidaO_T z3}L}L+Ct{ln_p_?Hum6J{l;Zzdu@Y2bPdu3mM%t63JTaoiZQh`=Vd2nCm%0A!lpww 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 qem|cw&*Y!!@n44!Xe1=59YGlY literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.rev b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/objects/pack/pack-2bfd5ac4335493365f6463b464eb0cf1fa2ca898.rev new file mode 100644 index 0000000000000000000000000000000000000000..3b9f613227dba889ffd94675392380532db2e64a GIT binary patch literal 2780 zcmXZb2mIGV9LMpyOSVGMK(b1UNXdxOp9oPQN<(F&l3Ais5y@6kX=xCW6`|~gy|ZP{ ztjI1rKaYnVz5eg_=W}=8yZhYd*Xf9g6H`k0fA&bJR1*%wt#ZTYv2vI5Gx0QEhi)%F zh2BI*%N@!8#&1gR5nqHW#7~Kr(|0h6KM<|>uZ@rAU*fOE7kq2Ex%~b7M1Cv&GVo~< ztxHcpO@2RmKBi)f_#4=#%)enT&u ziFnKFjm3WP%@%U@Np1L(_*lO!y+=F{C-B~(jHKQ%t7lq9*V21wdqmCDJ?(AYhO`D~ z{s1@egJ^sw>eh^YM}McEAZopbcq}IK6X`YdM5tSe-%CRpZ~h*y@5&fn-P4`o#p3O- zk=T3YJNTn8oPV5NC4Ue6i)i&CeP?hF*ye`Bu1uzrg%Dh&#>}U&nt=_Ys?0YKoiSHhd=5 zH^rJV3+kD7lW$5tqF>P`=qUVx=fp$sB2F{kH}c8yYLfpF@4~B9ev-ynmf}6Wxv_Xl zwMtQgXZSeZf&68>dz4cUzJpv2;1H>UOAd?jiU`MBpabK*A;=l723SbDVaz8KB7MBHmH!+1qJ6Hx=x^Qr!9MIWHo(gTd?`=qyW75GN_0`p*>ygj`g z)|czWdad+8Ke?R|y>%{Ki5Ad<^s?b zy1<<7H16IX)~10tl)n$p@Kfj;h+6L`c8@&Ey0Lr*z7^dB?pvnO=#`UcFItt3q&4WD zsBQi@dJ0846F0+~q;_~v{sr^fAo^he*2p0^b$W`Oj#a+c)y>Xe)lmT4ycS z@yO+9msp8=<<3X+nwsZKkEY|{eN$bi zPyQLJ5pVMYE<$}=B_}SI;xPVBdLFHg4f!}joat*sKenb%(oWD1=|=jTdC}K#0sEGy z%VPN$`xpABR6<>}HCBtNaiO_}_+adSj&fVdRmKM55omx4yoe_dck`BcSKfI`yzx>R zcUddH9kpk<1NO~vzrEzX6UQ5$3v07`mC$%wZ;{+$%Xx?t+c+YNPdCmo__Ye2boa`z-9cdh<1ZHJ&%=-x-~&RNJgdi~08-TBFgp LAI1*ZdwIowiCaw7 literal 0 HcmV?d00001 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/packed-refs b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/packed-refs new file mode 100644 index 00000000..15772841 --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +1785af439856701b2358e12b0e48ccb83b112a4e refs/remotes/origin/master diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/heads/master b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/heads/master new file mode 100644 index 00000000..a79eea2d --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/heads/master @@ -0,0 +1 @@ +1041a98675ba038b74202fd7560baf1b6f918d19 diff --git a/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/remotes/origin/HEAD b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/remotes/origin/HEAD new file mode 100644 index 00000000..6efe28ff --- /dev/null +++ b/releaser-core/src/test/resources/projects/spring-cloud-wiki/git/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master