Skip to content

Enh: Find dotGitDirectory using rev-parse --show-toplevel #113

Open

Description

@louisburton

I can see code that attempts to find the dotGitDirectory. It seems to look up the parent structure for the .git directory. However, many projects don't have the parent in the same project or the parent is not the same pom as the aggregator/reactor. When you have a nested maven module structure it is hard to determine where the .git directory is, when these sub modules are not git submodules (remotely source controlled). You may want to run builds from the reactor or an individual sub module, making the working directory unreliable also.

The following would get the .git directory I believe and I believe JGit supports the rev-parse command.

git rev-parse --show-toplevel

A quick google turns up other people that have hit this error and pulled out the plugin as a result.
https://jira.codehaus.org/browse/GEOT-4042
Sorry, I don't have a pull request right now - I use a workaround with relative paths from different modules.

Activity

  1. ktoso commented on May 24, 2014

    @ktoso
    Collaborator

    Hi and thanks for the info.
    Yeah this would be cool to implement... maybe with the raise of the native impl.
    Not sure if jgit supports the --shot-toplevel option though (yes, it does support rev-parse)

  2. maiergre commented on Oct 30, 2014

    @maiergre
    Contributor

    FWIW, git rev-parse --git-dir directly gives the git directory and automatically follows submodule links correctly.

  3. KTannenberg commented on Mar 6, 2019

    @KTannenberg

    Following line can be used as a work-around:
    <dotGitDirectory>${maven.multiModuleProjectDirectory}/.git</dotGitDirectory>

    But this definitely wouldn't work correctly in case your maven project spans across multiple repositories using git submodules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions