org.eclipse.jgit.lib.Ref.getPeeledObjectId()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(192)

本文整理了Java中org.eclipse.jgit.lib.Ref.getPeeledObjectId方法的一些代码示例,展示了Ref.getPeeledObjectId的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ref.getPeeledObjectId方法的具体详情如下:
包路径:org.eclipse.jgit.lib.Ref
类名称:Ref
方法名:getPeeledObjectId

Ref.getPeeledObjectId介绍

[英]Cached value of ref^{} (the ref peeled to commit).
[中]缓存值ref^{}(ref被剥离以提交)。

代码示例

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private static Set<ObjectId> refIdSet(Collection<Ref> refs) {
  2. Set<ObjectId> ids = new HashSet<>(refs.size());
  3. for (Ref ref : refs) {
  4. ObjectId id = ref.getObjectId();
  5. if (id != null) {
  6. ids.add(id);
  7. }
  8. id = ref.getPeeledObjectId();
  9. if (id != null) {
  10. ids.add(id);
  11. }
  12. }
  13. return ids;
  14. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. @Override
  2. public void apply(DirCacheEntry ent) {
  3. ent.setFileMode(GITLINK);
  4. ent.setObjectId(newRef.getPeeledObjectId());
  5. }
  6. }.setReplace(false));

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. /** {@inheritDoc} */
  2. @Override
  3. @Nullable
  4. public ObjectId getPeeledObjectId() {
  5. return getLeaf().getPeeledObjectId();
  6. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private void markRefsAdvertised() {
  2. for (Ref r : getRefs()) {
  3. markAdvertised(r.getObjectId());
  4. if (r.getPeeledObjectId() != null)
  5. markAdvertised(r.getPeeledObjectId());
  6. }
  7. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. /**
  2. * Get a map with all objects referenced by a peeled ref.
  3. *
  4. * @return a map with all objects referenced by a peeled ref.
  5. */
  6. @NonNull
  7. public Map<AnyObjectId, Set<Ref>> getAllRefsByPeeledObjectId() {
  8. Map<String, Ref> allRefs = getAllRefs();
  9. Map<AnyObjectId, Set<Ref>> ret = new HashMap<>(allRefs.size());
  10. for (Ref ref : allRefs.values()) {
  11. ref = peel(ref);
  12. AnyObjectId target = ref.getPeeledObjectId();
  13. if (target == null)
  14. target = ref.getObjectId();
  15. // We assume most Sets here are singletons
  16. Set<Ref> oset = ret.put(target, Collections.singleton(ref));
  17. if (oset != null) {
  18. // that was not the case (rare)
  19. if (oset.size() == 1) {
  20. // Was a read-only singleton, we must copy to a new Set
  21. oset = new HashSet<>(oset);
  22. }
  23. ret.put(target, oset);
  24. oset.add(ref);
  25. }
  26. }
  27. return ret;
  28. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. /**
  2. * Include a single ref (a name/object pair) in the bundle.
  3. * <p>
  4. * This is a utility function for:
  5. * <code>include(r.getName(), r.getObjectId())</code>.
  6. *
  7. * @param r
  8. * the ref to include.
  9. */
  10. public void include(Ref r) {
  11. include(r.getName(), r.getObjectId());
  12. if (r.getPeeledObjectId() != null)
  13. tagTargets.add(r.getPeeledObjectId());
  14. else if (r.getObjectId() != null
  15. && r.getName().startsWith(Constants.R_HEADS))
  16. tagTargets.add(r.getObjectId());
  17. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private ObjectId getObjectIdFromRef(Ref r) throws JGitInternalException {
  2. try {
  3. ObjectId key = repo.getRefDatabase().peel(r).getPeeledObjectId();
  4. if (key == null) {
  5. key = r.getObjectId();
  6. }
  7. return key;
  8. } catch (IOException e) {
  9. throw new JGitInternalException(e.getMessage(), e);
  10. }
  11. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. @Override
  2. int valueType() {
  3. if (ref.isSymbolic()) {
  4. return VALUE_SYMREF;
  5. } else if (ref.getStorage() == NEW && ref.getObjectId() == null) {
  6. return VALUE_NONE;
  7. } else if (ref.getPeeledObjectId() != null) {
  8. return VALUE_2ID;
  9. } else {
  10. return VALUE_1ID;
  11. }
  12. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. if (ref.getObjectId() != null)
  2. r.add(ref.getObjectId());
  3. if (ref.getPeeledObjectId() != null)
  4. r.add(ref.getPeeledObjectId());

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. throw outOfOrderAdvertisement(name);
  2. if (prior.getPeeledObjectId() != null)
  3. throw duplicateAdvertisement(name + "^{}"); //$NON-NLS-1$

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private void indexRef(Ref ref, long blockPos) {
  2. if (indexObjects && !ref.isSymbolic()) {
  3. indexId(ref.getObjectId(), blockPos);
  4. indexId(ref.getPeeledObjectId(), blockPos);
  5. }
  6. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private Collection<Ref> expandAutoFollowTags() throws TransportException {
  2. final Collection<Ref> additionalTags = new ArrayList<>();
  3. final Map<String, Ref> haveRefs = localRefs();
  4. for (Ref r : conn.getRefs()) {
  5. if (!isTag(r))
  6. continue;
  7. Ref local = haveRefs.get(r.getName());
  8. if (local != null)
  9. // We already have a tag with this name, don't fetch it (even if
  10. // the local is different).
  11. continue;
  12. ObjectId obj = r.getPeeledObjectId();
  13. if (obj == null)
  14. obj = r.getObjectId();
  15. if (askFor.containsKey(obj) || transport.local.hasObject(obj))
  16. wantTag(r);
  17. else
  18. additionalTags.add(r);
  19. }
  20. return additionalTags;
  21. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private static void cleanupPeeledRef(DirCacheEditor ed, Ref ref) {
  2. if (ref != null && !ref.isSymbolic()
  3. && (!ref.isPeeled() || ref.getPeeledObjectId() != null)) {
  4. ed.add(new DeletePath(peeledPath(ref.getName())));
  5. }
  6. }

代码示例来源:origin: centic9/jgit-cookbook

  1. public static void main(String[] args) throws IOException, GitAPIException {
  2. try (Repository repository = CookbookHelper.openJGitCookbookRepository()) {
  3. try (Git git = new Git(repository)) {
  4. List<Ref> call = git.tagList().call();
  5. for (Ref ref : call) {
  6. System.out.println("Tag: " + ref + " " + ref.getName() + " " + ref.getObjectId().getName());
  7. // fetch all commits for this tag
  8. LogCommand log = git.log();
  9. Ref peeledRef = repository.getRefDatabase().peel(ref);
  10. if(peeledRef.getPeeledObjectId() != null) {
  11. log.add(peeledRef.getPeeledObjectId());
  12. } else {
  13. log.add(ref.getObjectId());
  14. }
  15. Iterable<RevCommit> logs = log.call();
  16. for (RevCommit rev : logs) {
  17. System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
  18. }
  19. }
  20. }
  21. }
  22. }
  23. }

代码示例来源:origin: centic9/jgit-cookbook

  1. public static void main(String[] args) throws IOException, GitAPIException {
  2. try (Repository repository = CookbookHelper.openJGitCookbookRepository()) {
  3. try (Git git = new Git(repository)) {
  4. List<Ref> call = git.tagList().call();
  5. for (Ref ref : call) {
  6. System.out.println("Tag: " + ref + " " + ref.getName() + " " + ref.getObjectId().getName());
  7. // fetch all commits for this tag
  8. LogCommand log = git.log();
  9. Ref peeledRef = repository.getRefDatabase().peel(ref);
  10. if(peeledRef.getPeeledObjectId() != null) {
  11. log.add(peeledRef.getPeeledObjectId());
  12. } else {
  13. log.add(ref.getObjectId());
  14. }
  15. Iterable<RevCommit> logs = log.call();
  16. for (RevCommit rev : logs) {
  17. System.out.println("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
  18. }
  19. }
  20. }
  21. }
  22. }
  23. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. ObjectId id2 = ref.getPeeledObjectId();
  2. if (!ref.isPeeled()) {
  3. throw new IOException(JGitText.get().peeledRefIsRequired);

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private Ref asNew(Ref src) {
  2. String name = destination.getName();
  3. if (src.isSymbolic()) {
  4. return new SymbolicRef(name, src.getTarget());
  5. }
  6. ObjectId peeled = src.getPeeledObjectId();
  7. if (peeled != null) {
  8. return new ObjectIdRef.PeeledTag(
  9. src.getStorage(),
  10. name,
  11. src.getObjectId(),
  12. peeled);
  13. }
  14. return new ObjectIdRef.PeeledNonTag(
  15. src.getStorage(),
  16. name,
  17. src.getObjectId());
  18. }
  19. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. ref = getRepository().getRefDatabase().peel(ref);
  2. ObjectId objectId = ref.getPeeledObjectId();
  3. if (objectId == null)
  4. objectId = ref.getObjectId();

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. /**
  2. * Make sure a ref is peeled and has the Storage PACKED. If the given ref
  3. * has this attributes simply return it. Otherwise create a new peeled
  4. * {@link ObjectIdRef} where Storage is set to PACKED.
  5. *
  6. * @param f
  7. * @return a ref for Storage PACKED having the same name, id, peeledId as f
  8. * @throws MissingObjectException
  9. * @throws IOException
  10. */
  11. private Ref peeledPackedRef(Ref f)
  12. throws MissingObjectException, IOException {
  13. if (f.getStorage().isPacked() && f.isPeeled()) {
  14. return f;
  15. }
  16. if (!f.isPeeled()) {
  17. f = peel(f);
  18. }
  19. ObjectId peeledObjectId = f.getPeeledObjectId();
  20. if (peeledObjectId != null) {
  21. return new ObjectIdRef.PeeledTag(PACKED, f.getName(),
  22. f.getObjectId(), peeledObjectId);
  23. } else {
  24. return new ObjectIdRef.PeeledNonTag(PACKED, f.getName(),
  25. f.getObjectId());
  26. }
  27. }

代码示例来源:origin: org.eclipse.jgit/org.eclipse.jgit

  1. private void markReachable(Set<ObjectId> have, int maxTime)
  2. throws IOException {
  3. for (Ref r : local.getRefDatabase().getRefs()) {
  4. ObjectId id = r.getPeeledObjectId();
  5. if (id == null)
  6. id = r.getObjectId();

相关文章