fix name resolution for git repositories with working copy

This commit is contained in:
Sebastian Sdorra
2013-07-04 15:51:23 +02:00
parent bab3fa275d
commit e66638f1f0

View File

@@ -52,6 +52,9 @@ import sonia.scm.repository.RepositoryUtil;
//~--- JDK imports ------------------------------------------------------------ //~--- JDK imports ------------------------------------------------------------
import java.io.File;
import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@@ -127,8 +130,9 @@ public class GitReceiveHook implements PreReceiveHook, PostReceiveHook
try try
{ {
Repository repository = rpack.getRepository(); Repository repository = rpack.getRepository();
String repositoryName = RepositoryUtil.getRepositoryName(handler, String repositoryName = resolveRepositoryName(repository);
repository.getDirectory());
logger.trace("resolved repository name to {}", repositoryName);
repositoryManager.fireHookEvent(GitRepositoryHandler.TYPE_NAME, repositoryManager.fireHookEvent(GitRepositoryHandler.TYPE_NAME,
repositoryName, repositoryName,
@@ -147,7 +151,6 @@ public class GitReceiveHook implements PreReceiveHook, PostReceiveHook
* *
* *
* @param rpack * @param rpack
* @param receiveCommands
* @param commands * @param commands
* @param type * @param type
*/ */
@@ -174,6 +177,32 @@ public class GitReceiveHook implements PreReceiveHook, PostReceiveHook
} }
} }
/**
* Resolve the name of the repository.
* This method was introduced to fix issue #415.
*
* @param repository jgit repository
*
* @return name of repository
*
* @throws IOException
*/
private String resolveRepositoryName(Repository repository) throws IOException
{
File directory;
if (repository.isBare())
{
directory = repository.getDirectory();
}
else
{
directory = repository.getWorkTree();
}
return RepositoryUtil.getRepositoryName(handler, directory);
}
//~--- fields --------------------------------------------------------------- //~--- fields ---------------------------------------------------------------
/** Field description */ /** Field description */