I'm trying to work towards a resolution of https://bugs.eclipse.org/bugs/show_bug.cgi?id=33898 , which affects a lot of git users at Amazon. The bug is that EGit doesn't properly work when attempting to share a project that has a .git folder which is actually a symlink to another directory which is not a direct parent or child to the project directory. For instance if /foo/src/ProjectX/.git is a symlink to /foo/repos/ProjectX.git then it becomes impossible to share the project using egit.
Unfortunately the tools that manage projects at Amazon use something similar to this as the default behavior, and changing that presents other problems. This is hampering adoption of git at Amazon, a fairly large potential user and contributor base. The problem is demonstrably in the EGit code as a mismatch between the implementation of one component (the RepositoryFinder) and the implementation of another (ExistingOrNewPage).
The ideal solution would be an all-encompassing work on the ExistingOrNewPage and all other code that depends on the results of RepositoryFinder to properly detect and handle absolute paths, but I chose not to do that because a) it’s really out of scope for something that’s a part time project on my part and b) it’s a lot more likely to introduce new bugs if someone like me (a relative neophyte at working on eclipse plugins) was to attempt it. Instead I’ve tried to approach it with a minimal change required to resolve the issue, which turns out to be a very small change only to RepositoryFinder.
There's a lot more detail in the bug itself and there is a fix for it in CR https://git.eclipse.org/r/#/c/5126/ but I don't know how to get it moving forward from this point. Any advice or actual reviews would be appreciated.