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:ShowFileDiff.java
License:Apache License
public static void main(String[] args) throws IOException, GitAPIException { Repository repository = null; //CookbookHelper.openJGitCookbookRepository(); // the diff works on TreeIterators, we prepare two for the two branches AbstractTreeIterator oldTreeParser = prepareTreeParser(repository, "09c65401f3730eb3e619c33bf31e2376fb393727"); AbstractTreeIterator newTreeParser = prepareTreeParser(repository, "aa31703b65774e4a06010824601e56375a70078c"); // then the procelain diff-command returns a list of diff entries List<DiffEntry> diff = new Git(repository).diff().setOldTree(oldTreeParser).setNewTree(newTreeParser) .setPathFilter(PathFilter.create("README.md")).call(); for (DiffEntry entry : diff) { System.out.println("Entry: " + entry + ", from: " + entry.getOldId() + ", to: " + entry.getNewId()); DiffFormatter formatter = new DiffFormatter(System.out); formatter.setRepository(repository); formatter.format(entry);//w w w .j a v a 2 s. c o m } repository.close(); }
From source file:actions.DownloadSPDX.java
/** * Get the files from a given repository on github * @param slotId The thread where the download is happening * @param localPath The bigArchive on disk where the files will be placed * @param location The username/repository identification. We'd * expect something like triplecheck/reporter * @return True if everything went ok, false if something went wrong *///from w w w .j a va 2 s .co m public Boolean download(final int slotId, final File localPath, final String location) { // we can't have any older files files.deleteDir(localPath); final String REMOTE_URL = "https://github.com/" + location + ".git"; try { Git.cloneRepository().setURI(REMOTE_URL).setDirectory(localPath).call(); // now open the created repository FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(localPath).readEnvironment() // scan environment GIT_* variables .findGitDir() // scan up the file system tree .build(); System.out.println(slotId + "-> Downloaded repository: " + repository.getDirectory()); repository.close(); } catch (Exception ex) { Logger.getLogger(Repositories.class.getName()).log(Level.SEVERE, null, ex); // we need to add this event on the exception list utils_deprecated.files.addTextToFile(fileExceptionHappened, "\n" + location); // delete the files if possible files.deleteDir(localPath); System.out.println(slotId + " !!!! Failed to download: " + location); // clean up the slot slots[slotId] = false; return false; } System.out.println(slotId + "-> Downloaded: " + location); return true; }
From source file:at.ac.tuwien.inso.subcat.miner.GitMiner.java
License:Open Source License
private void _run() throws IOException, MinerException, SQLException { FileRepositoryBuilder builder = new FileRepositoryBuilder(); Repository repository = builder.setGitDir(new File(settings.srcLocalPath, ".git")).readEnvironment() .findGitDir().build();//from w w w .java 2s . c o m /* Map<String,Ref> refs = repository.getAllRefs(); for (Map.Entry<String, Ref> ref : refs.entrySet ()) { System.out.println (ref.getKey ()); } */ Ref head = repository.getRef(startRef); if (head == null) { throw new MinerException("Unknown reference: '" + startRef + "'"); } RevWalk walk = new RevWalk(repository); RevCommit commit = walk.parseCommit(head.getObjectId()); walk.markStart(commit); walk.sort(RevSort.REVERSE); // count commit: (fast) int commitCount = 0; Iterator<RevCommit> iter = walk.iterator(); while (iter.hasNext()) { iter.next(); commitCount++; } emitTasksTotal(commitCount); // process commits: (slow) walk.reset(); walk.markStart(commit); walk.sort(RevSort.REVERSE); Map<String, ManagedFile> fileCache = new HashMap<String, ManagedFile>(); for (RevCommit rev : walk) { if (stopped == true) { break; } processCommit(repository, walk, rev, fileCache); } walk.dispose(); repository.close(); }
From source file:ch.dals.buildtools.git.core.GitUtil.java
License:Open Source License
public static String currentBranch(final File location) throws IOException { final FileRepositoryBuilder builder = new FileRepositoryBuilder(); final File gitDir = builder.findGitDir(location).readEnvironment().getGitDir(); if (gitDir == null) { throw new FileNotFoundException("Cannot find Git directory upwards from: '" + location + "'"); }/* w w w . j av a 2 s .co m*/ final Repository repository = builder.build(); try { final String branchName = repository.getBranch(); if (branchName == null) { throw new FileNotFoundException("Failed to find HEAD reference in Git directory: '" + gitDir + "'"); } return branchName; } finally { repository.close(); } }
From source file:com.bb.extensions.plugin.unittests.internal.git.GitWrapper.java
License:Open Source License
/** * Close the repository//from www .j a v a 2s .c o m */ public void closeRepository() { Repository repo = this.git.getRepository(); if (repo != null) { repo.close(); } }
From source file:com.centurylink.mdw.plugin.project.assembly.ProjectInflator.java
License:Apache License
public void inflateCloudProject(final IRunnableContext container) { getProject().setCloudProject(true);/* w w w . ja v a 2 s . com*/ // get a project handle final IProject newProjectHandle = ResourcesPlugin.getWorkspace().getRoot() .getProject(workflowProject.getName()); // get a project descriptor IWorkspace workspace = ResourcesPlugin.getWorkspace(); final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName()); // create the new project operation IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { Repository newRepo = null; try { if (workflowProject.getPersistType() == PersistType.Git) { File localDir = new File(ResourcesPlugin.getWorkspace().getRoot().getLocation().toFile() + "/" + workflowProject.getName()); if (workflowProject.getMdwVcsRepository().hasRemoteRepository()) { monitor.subTask("Cloning Git repository"); VcsRepository gitRepo = workflowProject.getMdwVcsRepository(); Git.cloneRepository().setURI(gitRepo.getRepositoryUrlWithCredentials()) .setDirectory(localDir).call(); } else { newRepo = new FileRepository(new File(localDir + "/.git")); newRepo.create(); } // .gitignore Generator generator = new Generator(shell); JetAccess jet = getJet("source/.ignorejet", getProject().getSourceProject(), ".gitignore", null); generator.createFile(jet, monitor); } CreateProjectOperation op = new CreateProjectOperation(description, "MDW Cloud Project"); PlatformUI.getWorkbench().getOperationSupport().getOperationHistory().execute(op, monitor, WorkspaceUndoUtil.getUIInfoAdapter(shell)); } catch (Exception ex) { throw new InvocationTargetException(ex); } finally { if (newRepo != null) newRepo.close(); } } }; // run the new project creation operation try { container.run(false, false, op); ProgressMonitorDialog pmDialog = new MdwProgressMonitorDialog(MdwPlugin.getShell()); pmDialog.run(true, false, new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { monitor.beginTask("Inflating Workflow Project", 250); monitor.worked(5); // configure as Java project ProjectConfigurator projConf = new ProjectConfigurator(getProject(), MdwPlugin.getSettings()); projConf.setJava(new SubProgressMonitor(monitor, 3)); ProjectUpdater updater = new ProjectUpdater(getProject(), MdwPlugin.getSettings()); updater.updateMappingFiles(new SubProgressMonitor(monitor, 3)); // bootstrap // versions // of // the // property // files updater.updateFrameworkJars(new SubProgressMonitor(monitor, 150)); updater.updateWebProjectJars(new SubProgressMonitor(monitor, 50)); try { if (getProject().isOsgi()) projConf.addJavaProjectSourceFolder(getProject().getOsgiSettings().getSourceDir(), new SubProgressMonitor(monitor, 3)); else if (!getProject().isWar()) projConf.addJavaProjectSourceFolder("src", monitor); projConf.setJavaBuildOutputPath("build/classes", new SubProgressMonitor(monitor, 5)); projConf.addFrameworkJarsToClasspath(monitor); // add the workflow facet getProject().setSkipFacetPostInstallUpdates(true); // already // did // framework // updates IFacetedProject facetedProject = ProjectFacetsManager .create(getProject().getSourceProject(), true, new SubProgressMonitor(monitor, 3)); IProjectFacetVersion javaFacetVersion = ProjectFacetsManager.getProjectFacet("java") .getDefaultVersion(); if (Float.parseFloat(javaFacetVersion.getVersionString()) < 1.6) javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.6"); if (workflowProject.isCloudOnly()) javaFacetVersion = ProjectFacetsManager.getProjectFacet("java").getVersion("1.7"); facetedProject.installProjectFacet(javaFacetVersion, null, new SubProgressMonitor(monitor, 3)); IProjectFacetVersion mdwFacet = ProjectFacetsManager.getProjectFacet("mdw.workflow") .getDefaultVersion(); facetedProject.installProjectFacet(mdwFacet, getProject(), new SubProgressMonitor(monitor, 3)); if (workflowProject.isOsgi()) { IProjectFacet utilFacet = ProjectFacetsManager.getProjectFacet("jst.utility"); IProjectFacetVersion facetVer = utilFacet.getDefaultVersion(); IActionDefinition def = facetVer.getActionDefinition(null, IFacetedProject.Action.Type.INSTALL); Object cfg = def.createConfigObject(); facetedProject.installProjectFacet( ProjectFacetsManager.getProjectFacet("jst.utility").getDefaultVersion(), cfg, new SubProgressMonitor(monitor, 3)); } else if (workflowProject.isWar()) { // add the facet to the xml file IFile facetsFile = workflowProject.getSourceProject() .getFile(".settings/org.eclipse.wst.common.project.facet.core.xml"); if (facetsFile.exists()) { String content = new String(PluginUtil.readFile(facetsFile)); int insert = content.indexOf("</faceted-project>"); content = content.substring(0, insert) + " <installed facet=\"jst.web\" version=\"3.0\"/>\n" + content.substring(insert); PluginUtil.writeFile(facetsFile, content, new SubProgressMonitor(monitor, 3)); } } final ProjectConfigurator configurator = new ProjectConfigurator(getProject(), MdwPlugin.getSettings()); if (!workflowProject.isOsgi() && !workflowProject.isWar()) { MdwPlugin.getDisplay().syncExec(new Runnable() { public void run() { try { configurator.createFrameworkSourceCodeAssociations(MdwPlugin.getShell(), new NullProgressMonitor()); } catch (CoreException ex) { PluginMessages.log(ex); } } }); } if (workflowProject.isOsgi()) { generateOsgiArtifacts(new SubProgressMonitor(monitor, 10)); configurator.configureOsgiProject(shell, new SubProgressMonitor(monitor, 5)); } else if (workflowProject.isWar()) { generateWarCloudArtifacts(new SubProgressMonitor(monitor, 10)); configurator.addMavenNature(new SubProgressMonitor(monitor, 5)); // force // maven // refresh } } catch (Exception ex) { throw new InvocationTargetException(ex); } } }); } catch (Exception ex) { PluginMessages.uiError(ex, "Create Cloud Project", workflowProject); } }
From source file:com.cisco.step.jenkins.plugins.jenkow.JenkowWorkflowRepository.java
License:Open Source License
void ensureWorkflowDefinition(String wfName) { String relName = mkWfPath(wfName); File wff = new File(getRepositoryDir(), relName); if (wff.exists()) return;// w w w . j av a 2s. co m LOGGER.info("generating workflow definition " + wff); try { Map<String, String> vars = new HashMap<String, String>(); vars.put("WORKFLOW_ID", WfUtil.mkWorkflowId(wfName)); vars.put("WORKFLOW_NAME", wfName); String wfd = IOUtils.toString(getClass().getResourceAsStream("/templates/new.bpmn")); wfd = Util.replaceMacro(wfd, vars); FileUtils.writeStringToFile(wff, wfd); Repository r = openRepository(); addAndCommit(r, relName, "added generated workflow definition " + wfName); r.close(); } catch (IOException e) { LOGGER.log(Level.SEVERE, e.getMessage(), e); } }
From source file:com.cloudcontrolled.cctrl.maven.plugin.deploy.CloudcontrolledDeploy.java
License:Apache License
/** {@inheritDoc} */ @Override/* ww w. j a v a 2s . c o m*/ public void execute() throws MojoExecutionException, MojoFailureException { if (deployment == null || deployment.isEmpty()) { deployment = retrieveBranch(); if (CloudControlSupport.MASTER_BRANCH.equals(deployment)) { deployment = "default"; } } if (deployment == null) { Repository repository = null; try { repository = getRepository(); String branch = repository.getBranch(); if (!CloudControlSupport.MASTER_BRANCH.equals(branch)) { deployment = branch; } } catch (IOException e) { throw new MojoExecutionException(e.getClass().getSimpleName(), e); } finally { if (repository != null) { repository.close(); } } } String deploymentQualifier = application + (deployment != null ? ":" + deployment + (commitId != null ? ":" + commitId : "") : ""); log.info("Deploying " + deploymentQualifier + " to CloudControl PaaS."); CloudControlClient client = CloudControlSupport.createCloudControlClient(); UpdateDeploymentRequest request = CloudControlSupport.createUpdateDeploymentRequest(application, deployment, commitId); UpdateDeploymentResponse response = null; try { response = client.send(request); if (response.isError()) { throw new MojoFailureException(response.getContent()); } } catch (CloudControlClientException ccce) { throw new MojoExecutionException("CloudControlClientException", ccce); } log.info("Successfully deployed " + deploymentQualifier); log.info("Please, visit to following domain: http://" + response.getDeployment().getDefaultSubdomain()); }
From source file:com.cloudcontrolled.cctrl.maven.plugin.push.CloudcontrolledPush.java
License:Apache License
private String push(String remoteLocation) throws MojoExecutionException { Repository repository = null; Git git;/*from w w w . j a v a 2 s . c om*/ try { repository = getRepository(); git = Git.wrap(repository); PushCommand pushCommand = git.push(); pushCommand.setRemote(remoteLocation); pushCommand.setRefSpecs(new RefSpec(repository.getFullBranch())); Iterable<PushResult> pushResult = pushCommand.call(); Iterator<PushResult> result = pushResult.iterator(); StringBuffer buffer = new StringBuffer(); if (result.hasNext()) { while (result.hasNext()) { String line = result.next().getMessages(); if (!line.isEmpty()) { buffer.append(line); if (result.hasNext()) { buffer.append(System.getProperty("line.separator")); } } } } return buffer.toString(); } catch (Exception e) { throw new MojoExecutionException(e.getClass().getSimpleName(), e); } finally { if (repository != null) { repository.close(); } } }
From source file:com.gitblit.DownloadZipServlet.java
License:Apache License
/** * Creates a zip stream from the repository of the requested data. * /*from w w w . jav a 2 s . co m*/ * @param request * @param response * @throws javax.servlet.ServletException * @throws java.io.IOException */ private void processRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { if (!GitBlit.getBoolean(Keys.web.allowZipDownloads, true)) { logger.warn("Zip downloads are disabled"); response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } String repository = request.getParameter("r"); String basePath = request.getParameter("p"); String objectId = request.getParameter("h"); try { String name = repository; if (name.indexOf('/') > -1) { name = name.substring(name.lastIndexOf('/') + 1); } if (!StringUtils.isEmpty(basePath)) { name += "-" + basePath.replace('/', '_'); } if (!StringUtils.isEmpty(objectId)) { name += "-" + objectId; } Repository r = GitBlit.self().getRepository(repository); if (r == null) { error(response, MessageFormat.format("# Error\nFailed to find repository {0}", repository)); return; } RevCommit commit = JGitUtils.getCommit(r, objectId); if (commit == null) { error(response, MessageFormat.format("# Error\nFailed to find commit {0}", objectId)); r.close(); return; } Date date = JGitUtils.getCommitDate(commit); String contentType = "application/octet-stream"; response.setContentType(contentType + "; charset=" + response.getCharacterEncoding()); response.setHeader("Content-Disposition", "attachment; filename=\"" + name + ".zip" + "\""); response.setDateHeader("Last-Modified", date.getTime()); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", 0); try { JGitUtils.zip(r, basePath, objectId, response.getOutputStream()); response.flushBuffer(); } catch (Throwable t) { logger.error("Failed to write attachment to client", t); } // close the repository r.close(); } catch (Throwable t) { logger.error("Failed to write attachment to client", t); } }