List of usage examples for org.eclipse.jgit.revwalk.filter AndRevFilter create
public static RevFilter create(Collection<RevFilter> list)
From source file:kr.re.ec.grigit.graph.ui.RevWalker.java
License:Eclipse Distribution License
public void init() throws Exception { logger = LoggerFactory.getLogger(RevWalker.class); db = CurrentRepository.getInstance().getRepository(); walk = createWalk();/*ww w . j a v a 2 s . co m*/ for (final RevSort s : sorting) walk.sort(s, true); /* if (pathFilter == TreeFilter.ALL) { if (followPath != null) walk.setTreeFilter(FollowFilter.create(followPath, db .getConfig().get(DiffConfig.KEY))); } else if (pathFilter != TreeFilter.ALL) { walk.setTreeFilter(AndTreeFilter.create(pathFilter, TreeFilter.ANY_DIFF)); }*/ if (revLimiter.size() == 1) walk.setRevFilter(revLimiter.get(0)); else if (revLimiter.size() > 1) walk.setRevFilter(AndRevFilter.create(revLimiter)); if (all) { Map<String, Ref> refs = db.getRefDatabase().getRefs(RefDatabase.ALL); for (Ref a : refs.values()) { ObjectId oid = a.getPeeledObjectId(); if (oid == null) oid = a.getObjectId(); try { commits.add(walk.parseCommit(oid)); } catch (IncorrectObjectTypeException e) { // Ignore all refs which are not commits } } } if (commits.isEmpty()) { final ObjectId head = db.resolve(Constants.HEAD); if (head == null) //logger.info(MessageFormat.format(CLIText.get().cannotResolve, // Constants.HEAD)); commits.add(walk.parseCommit(head)); } for (final RevCommit c : commits) { final RevCommit real = argWalk == walk ? c : walk.parseCommit(c); if (c.has(RevFlag.UNINTERESTING)) walk.markUninteresting(real); else walk.markStart(real); } //final long start = System.currentTimeMillis(); //logger.info("i'm here1"); final int n = walkLoop(); //logger.info("i'm here2"); if (count) { //final long end = System.currentTimeMillis(); logger.info("" + n); logger.info(" "); // logger.info(MessageFormat.format(CLIText.get().timeInMilliSeconds, // Long.valueOf(end - start))); } }
From source file:org.eclipse.orion.server.git.jobs.LogCommand.java
License:Eclipse Distribution License
/** * Executes the {@code Log} command with all the options and parameters collected by the setter methods (e.g. {@link #add(AnyObjectId)}, * {@link #not(AnyObjectId)}, ..) of this class. Each instance of this class should only be used for one invocation of the command. Don't call this method * twice on an instance.//w w w.j av a 2s .c om * * @return an iteration over RevCommits * @throws NoHeadException * of the references ref cannot be resolved */ @Override public Iterable<RevCommit> call() throws GitAPIException, NoHeadException { checkCallable(); ArrayList<RevFilter> filters = new ArrayList<RevFilter>(); if (pathFilters.size() > 0) walk.setTreeFilter(AndTreeFilter.create(PathFilterGroup.create(pathFilters), TreeFilter.ANY_DIFF)); if (msgFilter != null) filters.add(msgFilter); if (authorFilter != null) filters.add(authorFilter); if (committerFilter != null) filters.add(committerFilter); if (sha1Filter != null) filters.add(sha1Filter); if (dateFilter != null) filters.add(dateFilter); if (skip > -1) filters.add(SkipRevFilter.create(skip)); if (maxCount > -1) filters.add(MaxCountRevFilter.create(maxCount)); RevFilter filter = null; if (filters.size() > 1) { filter = AndRevFilter.create(filters); } else if (filters.size() == 1) { filter = filters.get(0); } if (filter != null) walk.setRevFilter(filter); if (!startSpecified) { try { ObjectId headId = repo.resolve(Constants.HEAD); if (headId == null) throw new NoHeadException(JGitText.get().noHEADExistsAndNoExplicitStartingRevisionWasSpecified); add(headId); } catch (IOException e) { // all exceptions thrown by add() shouldn't occur and represent // severe low-level exception which are therefore wrapped throw new JGitInternalException(JGitText.get().anExceptionOccurredWhileTryingToAddTheIdOfHEAD, e); } } setCallable(false); return walk; }