This is the case for submodules in .git/modules, which typically have a worktree config of "../../../dir". This can confuse callers, which e.g. try to call Repository.stripWorkDir with it. Bug: 423644 Change-Id: I0c00953f73f9316a66d0fc10eab52d8779c88f00 Signed-off-by: Robin Stocker <robin@nibor.org> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>tags/v3.2.0.201312181205-r
@@ -695,7 +695,7 @@ public class BaseRepositoryBuilder<B extends BaseRepositoryBuilder, R extends Re | |||
String path = cfg.getString(CONFIG_CORE_SECTION, null, | |||
CONFIG_KEY_WORKTREE); | |||
if (path != null) | |||
return safeFS().resolve(getGitDir(), path); | |||
return safeFS().resolve(getGitDir(), path).getCanonicalFile(); | |||
// If core.bare is set, honor its value. Assume workTree is | |||
// the parent directory of the repository. |