Version
5.0.1
Context
I am using the vertx-config-git and add a git repo as a config store, it works fine. but when i change the git branch and restart the app, an exception is thrown as bellow:
io.vertx.core.VertxException: Unable to initialize the Git repository
at io.vertx.config.git.GitConfigStore.<init>(GitConfigStore.java:128)
at io.vertx.config.git.GitConfigStoreFactory.create(GitConfigStoreFactory.java:38)
at io.vertx.config.impl.ConfigRetrieverImpl.<init>(ConfigRetrieverImpl.java:118)
at io.vertx.config.ConfigRetriever.create(ConfigRetriever.java:52)
at com.example.vertxStudy.ConfigVerticle.start(ConfigVerticle.kt:18)
at io.vertx.kotlin.coroutines.CoroutineVerticle$start$1.invokeSuspend(CoroutineVerticle.kt:81)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:363)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:21)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:88)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:43)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source)
at io.vertx.kotlin.coroutines.CoroutineVerticle.start(CoroutineVerticle.kt:79)
at io.vertx.kotlin.coroutines.CoroutineVerticle.deploy(CoroutineVerticle.kt:54)
at io.vertx.core.impl.deployment.DefaultDeployment.lambda$deploy$1(DefaultDeployment.java:183)
at io.vertx.core.internal.ContextInternal.dispatch(ContextInternal.java:249)
at io.vertx.core.internal.ContextInternal.dispatch(ContextInternal.java:231)
at io.vertx.core.internal.ContextInternal.lambda$runOnContext$0(ContextInternal.java:50)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507)
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:182)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.eclipse.jgit.api.errors.RefNotFoundException: Ref main cannot be resolved
at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:222)
at io.vertx.config.git.GitConfigStore.initializeGit(GitConfigStore.java:149)
at io.vertx.config.git.GitConfigStore.<init>(GitConfigStore.java:126)
... 29 more
Steps to reproduce
- config a verticle, and add a ConfigRetriever containing git config store, as bellow:
val configRetriever = ConfigRetriever.create(
vertx, ConfigRetrieverOptions()
.setIncludeDefaultStores(true)
.setScanPeriod(1000)
.addStore(
ConfigStoreOptions()
.setType("git")
.setConfig(
json {
obj(
"url" to "git repo https url",
"path" to "../config/git/",
"branch" to "main",
"remote" to "origin",
"user" to "user",
"password" to "password",
"filesets" to array(
obj(
"pattern" to "*.yaml",
"format" to "yaml"
)
)
)
}
)
)
)
- deploy the verticle, it will works fine.
- change the
"branch" to "main" to some other git branch likes: "branch" to "dev", and restart the verticle
- the exception is thrown as follow:
io.vertx.core.VertxException: Unable to initialize the Git repository
at io.vertx.config.git.GitConfigStore.<init>(GitConfigStore.java:128)
at io.vertx.config.git.GitConfigStoreFactory.create(GitConfigStoreFactory.java:38)
at io.vertx.config.impl.ConfigRetrieverImpl.<init>(ConfigRetrieverImpl.java:118)
at io.vertx.config.ConfigRetriever.create(ConfigRetriever.java:52)
at com.example.vertxStudy.ConfigVerticle.start(ConfigVerticle.kt:18)
at io.vertx.kotlin.coroutines.CoroutineVerticle$start$1.invokeSuspend(CoroutineVerticle.kt:81)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:363)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:21)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:88)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:43)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source)
at io.vertx.kotlin.coroutines.CoroutineVerticle.start(CoroutineVerticle.kt:79)
at io.vertx.kotlin.coroutines.CoroutineVerticle.deploy(CoroutineVerticle.kt:54)
at io.vertx.core.impl.deployment.DefaultDeployment.lambda$deploy$1(DefaultDeployment.java:183)
at io.vertx.core.internal.ContextInternal.dispatch(ContextInternal.java:249)
at io.vertx.core.internal.ContextInternal.dispatch(ContextInternal.java:231)
at io.vertx.core.internal.ContextInternal.lambda$runOnContext$0(ContextInternal.java:50)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:507)
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:182)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1073)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.eclipse.jgit.api.errors.RefNotFoundException: Ref main cannot be resolved
at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:222)
at io.vertx.config.git.GitConfigStore.initializeGit(GitConfigStore.java:149)
at io.vertx.config.git.GitConfigStore.<init>(GitConfigStore.java:126)
... 29 more
I've done some research and found the location the code
git.checkout()
.setName(branch)
.setCreateBranch(true) //this line is missing <----------------
.setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK)
.setStartPoint(remote + "/" + branch)
.call();
Do you have a reproducer?
No response
Version
5.0.1
Context
I am using the vertx-config-git and add a git repo as a config store, it works fine. but when i change the git branch and restart the app, an exception is thrown as bellow:
Steps to reproduce
"branch" to "main"to some other git branch likes:"branch" to "dev", and restart the verticleI've done some research and found the location the code
Do you have a reproducer?
No response