From 8b5730a0e32d5707b6ac6df5fb0906b7981853eb Mon Sep 17 00:00:00 2001 From: Florian Zschocke <florian.zschocke@cycos.com> Date: Mon, 26 Aug 2013 06:39:57 -0400 Subject: [PATCH] Fix setting wrrong custom mode on file and in config. --- src/test/java/com/gitblit/tests/JGitUtilsTest.java | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/src/test/java/com/gitblit/tests/JGitUtilsTest.java b/src/test/java/com/gitblit/tests/JGitUtilsTest.java index f18c05f..cdf698d 100644 --- a/src/test/java/com/gitblit/tests/JGitUtilsTest.java +++ b/src/test/java/com/gitblit/tests/JGitUtilsTest.java @@ -183,6 +183,42 @@ } @Test + public void testCreateRepositorySharedCustom() throws Exception { + String[] repositories = { "NewSharedTestRepository.git" }; + for (String repositoryName : repositories) { + Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, + repositoryName, "660"); + File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), + FS.DETECTED); + assertNotNull(repository); + assertFalse(JGitUtils.hasCommits(repository)); + assertNull(JGitUtils.getFirstCommit(repository, null)); + + assertEquals("0660", repository.getConfig().getString("core", null, "sharedRepository")); + + assertTrue(folder.exists()); + if (! JnaUtils.isWindows()) { + int mode = JnaUtils.getFilemode(folder); + assertEquals(JnaUtils.S_ISGID, mode & JnaUtils.S_ISGID); + assertEquals(JnaUtils.S_IRWXG, mode & JnaUtils.S_IRWXG); + assertEquals(0, mode & JnaUtils.S_IRWXO); + + mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/HEAD"); + assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); + assertEquals(0, mode & JnaUtils.S_IRWXO); + + mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config"); + assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); + assertEquals(0, mode & JnaUtils.S_IRWXO); + } + + repository.close(); + RepositoryCache.close(repository); + FileUtils.delete(repository.getDirectory(), FileUtils.RECURSIVE); + } + } + + @Test public void testRefs() throws Exception { Repository repository = GitBlitSuite.getJGitRepository(); Map<ObjectId, List<RefModel>> map = JGitUtils.getAllRefs(repository); -- Gitblit v1.9.1