List of usage examples for org.eclipse.jgit.lib Repository close
@Override public void close()
Decrement the use count, and maybe close resources.
From source file:com.gitblit.tests.IssuesTest.java
License:Apache License
@Test public void testLifecycle() throws Exception { Repository repository = GitBlitSuite.getIssuesTestRepository(); String name = FileUtils.getRelativePath(GitBlitSuite.REPOSITORIES, repository.getDirectory()); // create and insert an issue Change c1 = newChange("testCreation() " + Long.toHexString(System.currentTimeMillis())); IssueModel issue = IssueUtils.createIssue(repository, c1); assertNotNull(issue.id);// ww w . ja v a 2 s . c o m // retrieve issue and compare IssueModel constructed = IssueUtils.getIssue(repository, issue.id); compare(issue, constructed); assertEquals(1, constructed.changes.size()); // C1: create the issue c1 = newChange("testUpdates() " + Long.toHexString(System.currentTimeMillis())); issue = IssueUtils.createIssue(repository, c1); assertNotNull(issue.id); constructed = IssueUtils.getIssue(repository, issue.id); compare(issue, constructed); assertEquals(1, constructed.changes.size()); // C2: set owner Change c2 = new Change("C2"); c2.comment("I'll fix this"); c2.setField(Field.Owner, c2.author); assertTrue(IssueUtils.updateIssue(repository, issue.id, c2)); constructed = IssueUtils.getIssue(repository, issue.id); assertEquals(2, constructed.changes.size()); assertEquals(c2.author, constructed.owner); // C3: add a note Change c3 = new Change("C3"); c3.comment("yeah, this is working"); assertTrue(IssueUtils.updateIssue(repository, issue.id, c3)); constructed = IssueUtils.getIssue(repository, issue.id); assertEquals(3, constructed.changes.size()); // C4: add attachment Change c4 = new Change("C4"); Attachment a = newAttachment(); c4.addAttachment(a); assertTrue(IssueUtils.updateIssue(repository, issue.id, c4)); Attachment a1 = IssueUtils.getIssueAttachment(repository, issue.id, a.name); assertEquals(a.content.length, a1.content.length); assertTrue(Arrays.areEqual(a.content, a1.content)); // C5: close the issue Change c5 = new Change("C5"); c5.comment("closing issue"); c5.setField(Field.Status, Status.Fixed); assertTrue(IssueUtils.updateIssue(repository, issue.id, c5)); // retrieve issue again constructed = IssueUtils.getIssue(repository, issue.id); assertEquals(5, constructed.changes.size()); assertTrue(constructed.status.isClosed()); List<IssueModel> allIssues = IssueUtils.getIssues(repository, null); List<IssueModel> openIssues = IssueUtils.getIssues(repository, new IssueFilter() { @Override public boolean accept(IssueModel issue) { return !issue.status.isClosed(); } }); List<IssueModel> closedIssues = IssueUtils.getIssues(repository, new IssueFilter() { @Override public boolean accept(IssueModel issue) { return issue.status.isClosed(); } }); assertTrue(allIssues.size() > 0); assertEquals(1, openIssues.size()); assertEquals(1, closedIssues.size()); // build a new Lucene index LuceneExecutor lucene = new LuceneExecutor(null, GitBlitSuite.REPOSITORIES); lucene.deleteIndex(name); for (IssueModel anIssue : allIssues) { lucene.index(name, anIssue); } List<SearchResult> hits = lucene.search("working", 1, 10, name); assertTrue(hits.size() == 1); // reindex an issue issue = allIssues.get(0); Change change = new Change("reindex"); change.comment("this is a test of reindexing an issue"); IssueUtils.updateIssue(repository, issue.id, change); issue = IssueUtils.getIssue(repository, issue.id); lucene.index(name, issue); hits = lucene.search("working", 1, 10, name); assertTrue(hits.size() == 1); // delete all issues for (IssueModel anIssue : allIssues) { assertTrue(IssueUtils.deleteIssue(repository, anIssue.id, "D")); } lucene.close(); repository.close(); }
From source file:com.gitblit.tests.IssuesTest.java
License:Apache License
@Test public void testChangeComment() throws Exception { Repository repository = GitBlitSuite.getIssuesTestRepository(); // C1: create the issue Change c1 = newChange("testChangeComment() " + Long.toHexString(System.currentTimeMillis())); IssueModel issue = IssueUtils.createIssue(repository, c1); assertNotNull(issue.id);/* w w w. j a va2s.com*/ assertTrue(issue.changes.get(0).hasComment()); assertTrue(IssueUtils.changeComment(repository, issue, c1, "E1", "I changed the comment")); issue = IssueUtils.getIssue(repository, issue.id); assertTrue(issue.changes.get(0).hasComment()); assertEquals("I changed the comment", issue.changes.get(0).comment.text); assertTrue(IssueUtils.deleteIssue(repository, issue.id, "D")); repository.close(); }
From source file:com.gitblit.tests.IssuesTest.java
License:Apache License
@Test public void testDeleteComment() throws Exception { Repository repository = GitBlitSuite.getIssuesTestRepository(); // C1: create the issue Change c1 = newChange("testDeleteComment() " + Long.toHexString(System.currentTimeMillis())); IssueModel issue = IssueUtils.createIssue(repository, c1); assertNotNull(issue.id);//from w w w . j a v a 2 s . com assertTrue(issue.changes.get(0).hasComment()); assertTrue(IssueUtils.deleteComment(repository, issue, c1, "D1")); issue = IssueUtils.getIssue(repository, issue.id); assertEquals(1, issue.changes.size()); assertFalse(issue.changes.get(0).hasComment()); issue = IssueUtils.getIssue(repository, issue.id, false); assertEquals(2, issue.changes.size()); assertTrue(issue.changes.get(0).hasComment()); assertFalse(issue.changes.get(1).hasComment()); assertTrue(IssueUtils.deleteIssue(repository, issue.id, "D")); repository.close(); }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@Test public void testOpenRepository() throws Exception { Repository repository = GitBlitSuite.getHelloworldRepository(); repository.close(); assertNotNull("Could not find repository!", repository); }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@Test public void testFirstCommit() throws Exception { assertEquals(new Date(0), JGitUtils.getFirstChange(null, null)); Repository repository = GitBlitSuite.getHelloworldRepository(); RevCommit commit = JGitUtils.getFirstCommit(repository, null); Date firstChange = JGitUtils.getFirstChange(repository, null); repository.close(); assertNotNull("Could not get first commit!", commit); assertEquals("Incorrect first commit!", "f554664a346629dc2b839f7292d06bad2db4aece", commit.getName()); assertTrue(firstChange.equals(new Date(commit.getCommitTime() * 1000L))); }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@Test public void testLastCommit() throws Exception { assertEquals(new Date(0), JGitUtils.getLastChange(null).when); Repository repository = GitBlitSuite.getHelloworldRepository(); assertTrue(JGitUtils.getCommit(repository, null) != null); Date date = JGitUtils.getLastChange(repository).when; repository.close(); assertNotNull("Could not get last repository change date!", date); }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@Test public void testCreateRepository() throws Exception { String[] repositories = { "NewTestRepository.git", "NewTestRepository" }; for (String repositoryName : repositories) { Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName); File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED); assertNotNull(repository);// w w w . jav a 2 s. c o m assertFalse(JGitUtils.hasCommits(repository)); assertNull(JGitUtils.getFirstCommit(repository, null)); assertEquals(folder.lastModified(), JGitUtils.getFirstChange(repository, null).getTime()); assertEquals(folder.lastModified(), JGitUtils.getLastChange(repository).when.getTime()); assertNull(JGitUtils.getCommit(repository, null)); repository.close(); RepositoryCache.close(repository); FileUtils.delete(repository.getDirectory(), FileUtils.RECURSIVE); } }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@Test public void testCreateRepositoryShared() throws Exception { String[] repositories = { "NewSharedTestRepository.git" }; for (String repositoryName : repositories) { Repository repository = JGitUtils.createRepository(GitBlitSuite.REPOSITORIES, repositoryName, "group"); File folder = FileKey.resolve(new File(GitBlitSuite.REPOSITORIES, repositoryName), FS.DETECTED); assertNotNull(repository);/*from w w w. j a va 2s. c o m*/ assertFalse(JGitUtils.hasCommits(repository)); assertNull(JGitUtils.getFirstCommit(repository, null)); assertEquals("1", 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); mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/HEAD"); assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config"); assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); } repository.close(); RepositoryCache.close(repository); FileUtils.delete(repository.getDirectory(), FileUtils.RECURSIVE); } }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@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);/* ww w . ja v a 2 s . co m*/ 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); } }
From source file:com.gitblit.tests.JGitUtilsTest.java
License:Apache License
@Test public void testCreateRepositorySharedSgidParent() throws Exception { if (!JnaUtils.isWindows()) { String repositoryAll = "NewTestRepositoryAll.git"; String repositoryUmask = "NewTestRepositoryUmask.git"; String sgidParent = "sgid"; File parent = new File(GitBlitSuite.REPOSITORIES, sgidParent); File folder = null;//from www . jav a2s . c o m boolean parentExisted = parent.exists(); try { if (!parentExisted) { assertTrue("Could not create SGID parent folder.", parent.mkdir()); } int mode = JnaUtils.getFilemode(parent); assertTrue(mode > 0); assertEquals(0, JnaUtils.setFilemode(parent, mode | JnaUtils.S_ISGID | JnaUtils.S_IWGRP)); Repository repository = JGitUtils.createRepository(parent, repositoryAll, "all"); folder = FileKey.resolve(new File(parent, repositoryAll), FS.DETECTED); assertNotNull(repository); assertEquals("2", repository.getConfig().getString("core", null, "sharedRepository")); assertTrue(folder.exists()); mode = JnaUtils.getFilemode(folder); assertEquals(JnaUtils.S_ISGID, mode & JnaUtils.S_ISGID); mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/HEAD"); assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); assertEquals(JnaUtils.S_IROTH, mode & JnaUtils.S_IRWXO); mode = JnaUtils.getFilemode(folder.getAbsolutePath() + "/config"); assertEquals(JnaUtils.S_IRGRP | JnaUtils.S_IWGRP, mode & JnaUtils.S_IRWXG); assertEquals(JnaUtils.S_IROTH, mode & JnaUtils.S_IRWXO); repository.close(); RepositoryCache.close(repository); repository = JGitUtils.createRepository(parent, repositoryUmask, "umask"); folder = FileKey.resolve(new File(parent, repositoryUmask), FS.DETECTED); assertNotNull(repository); assertEquals(null, repository.getConfig().getString("core", null, "sharedRepository")); assertTrue(folder.exists()); mode = JnaUtils.getFilemode(folder); assertEquals(JnaUtils.S_ISGID, mode & JnaUtils.S_ISGID); repository.close(); RepositoryCache.close(repository); } finally { FileUtils.delete(new File(parent, repositoryAll), FileUtils.RECURSIVE | FileUtils.IGNORE_ERRORS); FileUtils.delete(new File(parent, repositoryUmask), FileUtils.RECURSIVE | FileUtils.IGNORE_ERRORS); if (!parentExisted) { FileUtils.delete(parent, FileUtils.RECURSIVE | FileUtils.IGNORE_ERRORS); } } } }