Skip to content

Git ratcheting causes exception to be thrown when using git worktrees #2728

@tomakehurst

Description

@tomakehurst

To reproduce:

  1. Clone https://github.com/wiremock/wiremock
  2. Create a worktree e.g. git add worktree ../my-worktree
  3. cd ../my-worktree
  4. ./gradlew check

The following exception is thrown:

Caused by: java.lang.IllegalArgumentException: Cannot find git repository in any parent directory
        at com.diffplug.spotless.extra.GitRatchet.repositoryFor(GitRatchet.java:151)
        at com.diffplug.spotless.extra.GitRatchet.rootTreeShaOf(GitRatchet.java:173)
        at com.diffplug.gradle.spotless.SpotlessTask.setupRatchet(SpotlessTask.java:95)
        at com.diffplug.gradle.spotless.FormatExtension.setupTask(FormatExtension.java:1077)
        at com.diffplug.gradle.spotless.JavaExtension.setupTask(JavaExtension.java:454)
        at com.diffplug.gradle.spotless.SpotlessExtensionImpl.lambda$createFormatTasks$6(SpotlessExtensionImpl.java:70)
        at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:66)
        at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:66)
        at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:124)
        at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:30)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:27)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:48)
        at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107)
        at org.gradle.internal.ImmutableActionSet$SetWithManyActions.execute(ImmutableActionSet.java:329)
        at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:280)
        at org.gradle.api.internal.DefaultNamedDomainObjectCollection.doAdd(DefaultNamedDomainObjectCollection.java:125)
        at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:1008)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions