List of usage examples for org.eclipse.jgit.api Git getRepository
public Repository getRepository()
From source file:com.hazelcast.simulator.utils.jars.GitSupport.java
License:Open Source License
private void fetchAllRepositories(Git git) throws GitAPIException { Repository repository = git.getRepository(); Set<String> remotes = repository.getRemoteNames(); for (String remoteRepository : remotes) { git.fetch().setRemote(remoteRepository).call(); }//from ww w .j a v a 2s . c o m }
From source file:com.hazelcast.simulator.utils.jars.GitSupport.java
License:Open Source License
private String checkoutRevision(Git git, String revision) throws GitAPIException, IOException { resetHard(git);//w w w . ja v a2 s .c om git.checkout().setForce(true).setName(revision).setStartPoint(revision).call(); return git.getRepository().resolve(revision).toObjectId().name(); }
From source file:com.hazelcast.utils.GitUtils.java
License:Open Source License
public static boolean compile(Invoker invoker, BufferingOutputHandler outputHandler, Git git, RevCommit commit, boolean isDry, boolean isEE) throws MavenInvocationException { String label = isEE ? "EE" : "OS"; int counter = isEE ? COMPILE_COUNTER_EE.incrementAndGet() : COMPILE_COUNTER_OS.incrementAndGet(); System.out.printf("[%s] [%3d] Compiling %s... ", label, counter, asString(commit)); File projectRoot = git.getRepository().getDirectory().getParentFile(); if (isDry) {//from w ww . j a v a 2 s.c om printGreen("SUCCESS (dry run)"); return true; } InvocationRequest request = new DefaultInvocationRequest().setBatchMode(true).setBaseDirectory(projectRoot) .setPomFile(new File(projectRoot, "pom.xml")).setGoals(asList("clean", "install", "-DskipTests")); long started = System.nanoTime(); InvocationResult result = invoker.execute(request); long elapsedSeconds = TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - started); if (isDebug()) { outputHandler.printErrors(); } outputHandler.clear(); int exitCode = result.getExitCode(); if (exitCode == 0) { printGreen("SUCCESS (%d seconds)", elapsedSeconds); } else { printRed("FAILURE (%d seconds)", elapsedSeconds); } return exitCode == 0; }
From source file:com.hpe.application.automation.tools.octane.model.processors.scm.GitSCMProcessor.java
License:Open Source License
@Override public CommonOriginRevision getCommonOriginRevision(final Run run) { //for phase 1 this is hard coded since its not possible to calculate it, and configuration from outside will complicate the feature //so for this phase we keep it hardcoded. CommonOriginRevision commonOriginRevision = new CommonOriginRevision(); try {/* w w w. j a va 2 s. co m*/ final AbstractBuild abstractBuild = (AbstractBuild) run; FilePath workspace = ((AbstractBuild) run).getWorkspace(); if (workspace != null) { commonOriginRevision = workspace.act(new FilePath.FileCallable<CommonOriginRevision>() { @Override public CommonOriginRevision invoke(File file, VirtualChannel channel) throws IOException, InterruptedException { CommonOriginRevision result = new CommonOriginRevision(); File repoDir = new File(getRemoteString(abstractBuild) + File.separator + ".git"); Git git = Git.open(repoDir); Repository repo = git.getRepository(); final RevWalk walk = new RevWalk(repo); ObjectId resolveForCurrentBranch = repo.resolve(Constants.HEAD); RevCommit currentBranchCommit = walk.parseCommit(resolveForCurrentBranch); ObjectId resolveForMaster = repo.resolve(MASTER); RevCommit masterCommit = walk.parseCommit(resolveForMaster); walk.reset(); walk.setRevFilter(RevFilter.MERGE_BASE); walk.markStart(currentBranchCommit); walk.markStart(masterCommit); final RevCommit base = walk.next(); if (base == null) return result; final RevCommit base2 = walk.next(); if (base2 != null) { throw new NoMergeBaseException( NoMergeBaseException.MergeBaseFailureReason.MULTIPLE_MERGE_BASES_NOT_SUPPORTED, MessageFormat.format(JGitText.get().multipleMergeBasesFor, currentBranchCommit.name(), masterCommit.name(), base.name(), base2.name())); } result.revision = base.getId().getName(); result.branch = getBranchName(run); return result; } @Override public void checkRoles(RoleChecker roleChecker) throws SecurityException { if (roleChecker != null) { logger.info("Note : roleChecker is not empty, but no action was taken"); } } }); } logger.info("most recent common revision resolved to " + commonOriginRevision.revision + " (branch: " + commonOriginRevision.branch + ")"); } catch (Exception e) { logger.error("failed to resolve most recent common revision", e); return commonOriginRevision; } return commonOriginRevision; }
From source file:com.maiereni.sling.sources.git.GitProjectDownloader.java
License:Apache License
private void update(final Git git) throws Exception { logger.debug("Fetch from remote"); FetchResult fr = git.fetch().call(); // .setRemote(url) Collection<Ref> refs = fr.getAdvertisedRefs(); Iterable<RevCommit> logs = git.log().call(); for (RevCommit rev : logs) { PersonIdent authorIdent = rev.getAuthorIdent(); Date date = authorIdent.getWhen(); String authName = authorIdent.getName(); logger.debug("Commit at " + SDF.format(date) + " by " + authName + ": " + rev.getId().name() + " text: " + rev.getShortMessage()); }/* w ww .j ava2 s.com*/ List<Note> notes = git.notesList().call(); for (Ref ref : refs) { if (ref.getName().equals("HEAD")) { git.rebase().setUpstream(ref.getObjectId()).call(); logger.debug("Rebase on HEAD"); for (Note note : notes) { if (note.getName().equals(ref.getObjectId().getName())) { logger.debug("Found note: " + note + " for commit " + ref.getName()); // displaying the contents of the note is done via a simple blob-read ObjectLoader loader = git.getRepository().open(note.getData()); loader.copyTo(System.out); } } } } }
From source file:com.maiereni.synchronizer.git.utils.GitDownloaderImpl.java
License:Apache License
private List<Change> checkDifferences(final Git git, final Ref localBranch, final Ref head) throws Exception { List<Change> ret = new ArrayList<Change>(); Repository repository = git.getRepository(); AbstractTreeIterator oldTreeParser = prepareTreeParser(repository, localBranch); AbstractTreeIterator newTreeParser = prepareTreeParser(repository, head); List<DiffEntry> diffs = git.diff().setOldTree(oldTreeParser).setNewTree(newTreeParser).call(); for (DiffEntry diff : diffs) { Change change = new Change(); change.setPathNew(diff.getNewPath()); change.setPathOld(diff.getOldPath()); change.setChangeType(ChangeType.valueOf(diff.getChangeType().name())); ret.add(change);/* w ww.jav a 2 s . c o m*/ } return ret; }
From source file:com.mangosolutions.rcloud.rawgist.repository.git.CreateOrUpdateGistOperation.java
private Grgit initialiseRepo(Grgit git) { Git jgit = git.getRepository().getJgit(); if (jgit.getRepository().isBare()) { OpenOp openOp = new OpenOp(); openOp.setDir(this.getLayout().getBareFolder()); git = openOp.call();//from w w w. j av a2s . c o m } File workingFolder = getWorkTree(git); if (!workingFolder.exists()) { try { FileUtils.forceMkdir(workingFolder); } catch (IOException e) { GistError error = new GistError(GistErrorCode.FATAL_GIST_INITIALISATION, "Could not initialise gist repository with id {}", this.getGistId()); logger.error(error.getFormattedMessage() + " with folder path {}", workingFolder, e); throw new GistRepositoryException(error, e); } } return git; }
From source file:com.mangosolutions.rcloud.rawgist.repository.git.CreateOrUpdateGistOperation.java
private BareRmCommand applyRmPath(BareRmCommand rmCommand, String filename, Grgit git, DirCache index) { if (rmCommand == null) { Git jgit = git.getRepository().getJgit(); rmCommand = new BareRmCommand(jgit.getRepository(), index); }/*from www .j a v a 2 s.c o m*/ return rmCommand.addFilepattern(filename); }
From source file:com.mangosolutions.rcloud.rawgist.repository.git.CreateOrUpdateGistOperation.java
private BareAddCommand applyAddPath(BareAddCommand addCommand, String filename, File workingFolder, Grgit git, DirCache index) {//from w w w. j ava 2 s . c o m if (addCommand == null) { Git jgit = git.getRepository().getJgit(); FileTreeIterator iterator = getFileTreeIterator(jgit, workingFolder); addCommand = new BareAddCommand(jgit.getRepository()); addCommand.setWorkingTreeIterator(iterator); addCommand.addDirCache(index); } return addCommand.addFilepattern(filename); }
From source file:com.mangosolutions.rcloud.rawgist.repository.git.CreateOrUpdateGistOperation.java
private FileTreeIterator getFileTreeIterator(Git jgit, File workingFolder) { FileModeStrategy fileModeStrategy = jgit.getRepository().getConfig().get(WorkingTreeOptions.KEY) .isDirNoGitLinks() ? NoGitlinksStrategy.INSTANCE : DefaultFileModeStrategy.INSTANCE; FileTreeIterator iterator = new FileTreeIterator(workingFolder, jgit.getRepository().getFS(), jgit.getRepository().getConfig().get(WorkingTreeOptions.KEY), fileModeStrategy); return iterator; }