protected ImmutableList<Ref> _call() { final Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref input) { if (locals && input.getName().startsWith(Ref.HEADS_PREFIX)) { return true; } if (remotes && input.getName().startsWith(Ref.REMOTES_PREFIX)) { return true; } return false; } }; List<Ref> refs = Lists.newArrayList(command(ForEachRef.class).setFilter(filter).call()); Collections.sort(refs); return ImmutableList.copyOf(refs); }
protected ImmutableList<Ref> _call() { final Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref input) { if (locals && input.getName().startsWith(Ref.HEADS_PREFIX)) { return true; } if (remotes && input.getName().startsWith(Ref.REMOTES_PREFIX)) { return true; } return false; } }; List<Ref> refs = Lists.newArrayList(command(ForEachRef.class).setFilter(filter).call()); Collections.sort(refs); return ImmutableList.copyOf(refs); }
private ImmutableSet<Ref> getLocalRefs() { Predicate<Ref> filter = new Predicate<Ref>() { final String prefix = Ref.HEADS_PREFIX; @Override public boolean apply(Ref input) { return !(input instanceof SymRef) && input.getName().startsWith(prefix); } }; ImmutableSet<Ref> localRefs = command(ForEachRef.class).setFilter(filter).call(); return localRefs; }
private ImmutableSet<Ref> getLocalRefs() { Predicate<Ref> filter = new Predicate<Ref>() { final String prefix = Ref.HEADS_PREFIX; @Override public boolean apply(Ref input) { return !(input instanceof SymRef) && input.getName().startsWith(prefix); } }; ImmutableSet<Ref> localRefs = command(ForEachRef.class).setFilter(filter).call(); return localRefs; }
@Override public ImmutableSet<Ref> listRefs(final Repository local, final boolean getHeads, final boolean getTags) { Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref input) { boolean keep = false; if (getHeads) { keep = input.getName().startsWith(Ref.HEADS_PREFIX); } if (getTags) { keep = keep || input.getName().startsWith(Ref.TAGS_PREFIX); } return keep; } }; checkNotNull(remoteRepository); return remoteRepository.command(ForEachRef.class).setFilter(filter).call(); }
@Override public ImmutableSet<Ref> listRefs(final Repository local, final boolean getHeads, final boolean getTags) { Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref input) { boolean keep = false; if (getHeads) { keep = input.getName().startsWith(Ref.HEADS_PREFIX); } if (getTags) { keep = keep || input.getName().startsWith(Ref.TAGS_PREFIX); } return keep; } }; checkNotNull(remoteRepository); return remoteRepository.command(ForEachRef.class).setFilter(filter).call(); }
@Override protected ImmutableList<RevTag> _call() { List<Ref> refs = newArrayList( command(ForEachRef.class).setPrefixFilter(Ref.TAGS_PREFIX).call()); List<ObjectId> tagIds = transform(refs, (r) -> r.getObjectId()); Iterator<RevTag> alltags; alltags = objectDatabase().getAll(tagIds, BulkOpListener.NOOP_LISTENER, RevTag.class); ImmutableList<RevTag> res = ImmutableList.copyOf(alltags); return res; }
@Override protected ImmutableList<RevTag> _call() { List<Ref> refs = newArrayList( command(ForEachRef.class).setPrefixFilter(Ref.TAGS_PREFIX).call()); // (r) -> r.getObjectId() Function<Ref, ObjectId> fn = new Function<Ref, ObjectId>() { @Override public ObjectId apply(Ref ref) { return ref.getObjectId(); }}; List<ObjectId> tagIds = transform(refs, fn); Iterator<RevTag> alltags; alltags = objectDatabase().getAll(tagIds, BulkOpListener.NOOP_LISTENER, RevTag.class); ImmutableList<RevTag> res = ImmutableList.copyOf(alltags); return res; }
/** * @see ForEachRef */ private ImmutableSet<Ref> locallyKnownRefs(final Remote remoteConfig) { Predicate<Ref> filter = input -> { java.util.Optional<String> remoteRef = remoteConfig.mapToRemote(input.getName()); return remoteRef.isPresent(); }; return command(ForEachRef.class).setFilter(filter).call(); }
/** * @see ForEachRef */ private ImmutableSet<Ref> locallyKnownRefs(final Remote remoteConfig) { Predicate<Ref> filter = new Predicate<Ref>() { final String prefix = Ref.REMOTES_PREFIX + remoteConfig.getName() + "/"; @Override public boolean apply(Ref input) { return input.getName().startsWith(prefix); } }; return command(ForEachRef.class).setFilter(filter).call(); }
@Override protected Optional<Ref> _call() { Preconditions.checkState(id != null, "id has not been set."); Predicate<Ref> filter = new Predicate<Ref>() { private ObjectId id = ResolveBranchId.this.id; @Override public boolean apply(@Nullable Ref ref) { String refName = ref.getName(); ObjectId refId = ref.getObjectId(); return refName.startsWith(Ref.HEADS_PREFIX) && refId.equals(this.id); } }; ImmutableSet<Ref> refs = command(ForEachRef.class).setFilter(filter).call(); if (refs.isEmpty()) { return Optional.absent(); } else { return Optional.of(refs.iterator().next()); } } }
@Override protected Optional<Ref> _call() { Preconditions.checkState(id != null, "id has not been set."); Predicate<Ref> filter = new Predicate<Ref>() { private ObjectId id = ResolveBranchId.this.id; @Override public boolean apply(@Nullable Ref ref) { String refName = ref.getName(); ObjectId refId = ref.getObjectId(); return refName.startsWith(Ref.HEADS_PREFIX) && refId.equals(this.id); } }; ImmutableSet<Ref> refs = command(ForEachRef.class).setFilter(filter).call(); if (refs.isEmpty()) { return Optional.absent(); } else { return Optional.of(refs.iterator().next()); } } }
/** * Verifies that all the reachable objects from all the refs in the repo exist in the repo's * database */ public static Set<ObjectId> verifyRepositoryContents(Repository repo) { Map<String, Ref> allRefs = Maps.uniqueIndex(repo.command(ForEachRef.class).call(), (r) -> r.getName()); allRefs = Maps.filterKeys(allRefs, (k) -> !k.equals(Ref.STAGE_HEAD) && !k.equals(Ref.WORK_HEAD)); return veifyRepositoryContents(repo, allRefs); }
public static void verifySameRefs(Repository source, Repository copy) { Map<String, Ref> sourceRefs = new TreeMap<>(); sourceRefs.putAll( Maps.uniqueIndex(source.command(ForEachRef.class).call(), (r) -> r.getName())); Map<String, Ref> copyRefs = new TreeMap<>(); Predicate<Ref> filter = (r) -> !r.getName().startsWith(Ref.REMOTES_PREFIX); copyRefs.putAll(// Maps.uniqueIndex(// copy.command(ForEachRef.class)// .setFilter(filter).call(), (r) -> r.getName())// ); sourceRefs.remove(Ref.STAGE_HEAD); sourceRefs.remove(Ref.WORK_HEAD); copyRefs.remove(Ref.STAGE_HEAD); copyRefs.remove(Ref.WORK_HEAD); assertEquals(sourceRefs.keySet(), copyRefs.keySet()); assertEquals(sourceRefs, copyRefs); }
public static void verifySameRefs(Repository source, Repository copy) { Map<String, Ref> sourceRefs = new TreeMap<>(); sourceRefs.putAll( Maps.uniqueIndex(source.command(ForEachRef.class).call(), (r) -> r.getName())); Map<String, Ref> copyRefs = new TreeMap<>(); copyRefs.putAll(// Maps.uniqueIndex(// copy.command(ForEachRef.class)// .setFilter((r) -> !r.getName().startsWith(Ref.REMOTES_PREFIX)) .call(), (r) -> r.getName())// ); assertEquals(sourceRefs.keySet(), copyRefs.keySet()); assertEquals(sourceRefs, copyRefs); }
/** * Verifies that all the reachable objects from the specified refs in the repo exist in the * repo's database */ public static Set<ObjectId> verifyRepositoryContents(Repository repo, String... refs) { final Set<String> filter = Sets.newHashSet(refs); Map<String, Ref> allRefs = Maps.uniqueIndex( repo.command(ForEachRef.class).setFilter(r -> filter.contains(r.getName())).call(), (r) -> r.getName()); for (String expected : filter) { Preconditions.checkState(allRefs.containsKey(expected), "Ref %s not found", expected); } return veifyRepositoryContents(repo, allRefs); }
/** * Verifies that all the reachable objects from all the refs in the repo exist in the repo's * database */ public static Set<ObjectId> verifyRepositoryContents(Repository repo) { Map<String, Ref> allRefs = Maps.uniqueIndex(repo.command(ForEachRef.class).call(), (r) -> r.getName()); allRefs = Maps.filterKeys(allRefs, (k) -> !k.equals(Ref.STAGE_HEAD) && !k.equals(Ref.WORK_HEAD)); Set<ObjectId> allIds = Sets.newConcurrentHashSet(); for (Ref ref : allRefs.values()) { if (ref instanceof SymRef) { Ref target = ref.peel(); assertTrue(format("symref points to a non existent ref: %s", ref), allRefs.containsKey(target.getName())); } else { Stack<String> pathToObject = new Stack<>(); pathToObject.push(ref.getName()); verifyAllReachableContents(repo, ref.getObjectId(), pathToObject, allIds); pathToObject.pop(); } } return allIds; }
@Override public void runInternal(GeogigCLI cli) throws IOException { Console console = cli.getConsole(); GeoGIG geogig = cli.getGeogig(); ForEachRef op = geogig.command(ForEachRef.class); Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref ref) { String name = ref.getName(); if (!name.startsWith(Ref.REFS_PREFIX)) { return false; } boolean match = patterns.isEmpty() ? true : false; for (String pattern : patterns) { if (Strings.isNullOrEmpty(pattern)) { match = true; } else if (name.endsWith("/" + pattern)) { match = true; break; } } return match; } }; op.setFilter(filter); ImmutableSet<Ref> refs = op.call(); for (Ref ref : refs) { console.println(ref.getObjectId() + " " + ref.getName()); } }
@Override public void runInternal(GeogigCLI cli) throws IOException { Console console = cli.getConsole(); GeoGIG geogig = cli.getGeogig(); ForEachRef op = geogig.command(ForEachRef.class); Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref ref) { String name = ref.getName(); if (!name.startsWith(Ref.REFS_PREFIX)) { return false; } boolean match = patterns.isEmpty() ? true : false; for (String pattern : patterns) { if (Strings.isNullOrEmpty(pattern)) { match = true; } else if (name.endsWith("/" + pattern)) { match = true; break; } } return match; } }; op.setFilter(filter); ImmutableSet<Ref> refs = op.call(); for (Ref ref : refs) { console.println(ref.getObjectId() + " " + ref.getName()); } }
@Override public void runInternal(GeogigCLI cli) throws IOException { Console console = cli.getConsole(); GeoGIG geogig = cli.getGeogig(); ForEachRef op = geogig.command(ForEachRef.class); Predicate<Ref> filter = new Predicate<Ref>() { @Override public boolean apply(Ref ref) { String name = ref.getName(); if (!name.startsWith(Ref.REFS_PREFIX)) { return false; } boolean match = patterns.isEmpty() ? true : false; for (String pattern : patterns) { if (Strings.isNullOrEmpty(pattern)) { match = true; } else if (name.endsWith("/" + pattern)) { match = true; break; } } return match; } }; op.setFilter(filter); ImmutableSet<Ref> refs = op.call(); for (Ref ref : refs) { console.println(ref.getObjectId() + " " + ref.getName()); } }