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

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

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

Ref.getStorage介绍

[英]How was this ref obtained?

The current storage model of a Ref may influence how the ref must be updated or deleted from the repository.
[中]这个裁判是怎么得到的?
Ref的当前存储模型可能会影响必须从存储库中更新或删除Ref的方式。

代码示例

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

  1. private Storage loose(Ref r) {
  2. if (r != null && r.getStorage() == Storage.PACKED) {
  3. return Storage.LOOSE_PACKED;
  4. }
  5. return Storage.LOOSE;
  6. }

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

  1. private Storage loose(Ref r) {
  2. if (r != null && r.getStorage() == Storage.PACKED)
  3. return Storage.LOOSE_PACKED;
  4. return Storage.LOOSE;
  5. }

代码示例来源:origin: jphp-group/jphp

  1. public static ArrayMemory valueOf(Ref ref) {
  2. ArrayMemory memory = new ArrayMemory();
  3. memory.refOfIndex("name").assign(ref.getName());
  4. memory.refOfIndex("peeled").assign(ref.isPeeled());
  5. memory.refOfIndex("symbolic").assign(ref.isSymbolic());
  6. memory.refOfIndex("objectId").assign(valueOf(ref.getObjectId()));
  7. memory.refOfIndex("storage").assign(valueOf(ref.getStorage()));
  8. return memory;
  9. }

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

  1. /** {@inheritDoc} */
  2. @Override
  3. protected Result doDelete(Result status) throws IOException {
  4. if (getRef().getStorage() != Ref.Storage.NEW)
  5. database.delete(this);
  6. return status;
  7. }

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

  1. /**
  2. * Whether the current reference was deleted.
  3. *
  4. * @return {@code true} if the current reference was deleted.
  5. */
  6. public boolean wasDeleted() {
  7. Ref r = getRef();
  8. return r.getStorage() == Ref.Storage.NEW && r.getObjectId() == null;
  9. }

代码示例来源: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. boolean peeled = false;
  2. for (Ref r : refs) {
  3. if (r.getStorage().isPacked() && r.isPeeled()) {
  4. peeled = true;
  5. break;
  6. if (r.getStorage() != Ref.Storage.PACKED)
  7. continue;

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

  1. /** {@inheritDoc} */
  2. @Override
  3. protected Result doLink(String target) throws IOException {
  4. Ref dst = new ObjectIdRef.Unpeeled(NEW, target, null);
  5. SymbolicRef n = new SymbolicRef(getName(), dst);
  6. Result desiredResult = getRef().getStorage() == NEW
  7. ? Result.NEW
  8. : Result.FORCED;
  9. return run(n, desiredResult);
  10. }

代码示例来源: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. private void deleteCommand(RemoteRefUpdate u) {
  2. final Ref r = newRefs.remove(u.getRemoteName());
  3. if (r == null) {
  4. // Already gone.
  5. //
  6. u.setStatus(Status.OK);
  7. return;
  8. }
  9. if (r.getStorage().isPacked())
  10. packedRefUpdates.add(u);
  11. if (r.getStorage().isLoose()) {
  12. try {
  13. dest.deleteRef(u.getRemoteName());
  14. u.setStatus(Status.OK);
  15. } catch (IOException e) {
  16. u.setStatus(Status.REJECTED_OTHER_REASON);
  17. u.setMessage(e.getMessage());
  18. }
  19. }
  20. try {
  21. dest.deleteRefLog(u.getRemoteName());
  22. } catch (IOException e) {
  23. u.setStatus(Status.REJECTED_OTHER_REASON);
  24. u.setMessage(e.getMessage());
  25. }
  26. }

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

  1. Storage storage = r.getStorage();
  2. if (storage == Storage.LOOSE || storage == Storage.LOOSE_PACKED)
  3. ret.numberOfLooseRefs++;

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

  1. private ObjectIdRef doPeel(Ref leaf) throws MissingObjectException,
  2. IOException {
  3. try (RevWalk rw = new RevWalk(getRepository())) {
  4. RevObject obj = rw.parseAny(leaf.getObjectId());
  5. if (obj instanceof RevTag) {
  6. return new ObjectIdRef.PeeledTag(leaf.getStorage(), leaf
  7. .getName(), leaf.getObjectId(), rw.peel(obj).copy());
  8. } else {
  9. return new ObjectIdRef.PeeledNonTag(leaf.getStorage(), leaf
  10. .getName(), leaf.getObjectId());
  11. }
  12. }
  13. }

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

  1. /**
  2. * Packs all non-symbolic, loose refs into packed-refs.
  3. *
  4. * @throws java.io.IOException
  5. */
  6. public void packRefs() throws IOException {
  7. Collection<Ref> refs = repo.getRefDatabase()
  8. .getRefsByPrefix(Constants.R_REFS);
  9. List<String> refsToBePacked = new ArrayList<>(refs.size());
  10. pm.beginTask(JGitText.get().packRefs, refs.size());
  11. try {
  12. for (Ref ref : refs) {
  13. checkCancelled();
  14. if (!ref.isSymbolic() && ref.getStorage().isLoose())
  15. refsToBePacked.add(ref.getName());
  16. pm.update(1);
  17. }
  18. ((RefDirectory) repo.getRefDatabase()).pack(refsToBePacked);
  19. } finally {
  20. pm.endTask();
  21. }
  22. }

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

  1. Ref doPeel(Ref leaf) throws MissingObjectException,
  2. IOException {
  3. try (RevWalk rw = new RevWalk(repository)) {
  4. RevObject obj = rw.parseAny(leaf.getObjectId());
  5. if (obj instanceof RevTag) {
  6. return new ObjectIdRef.PeeledTag(
  7. leaf.getStorage(),
  8. leaf.getName(),
  9. leaf.getObjectId(),
  10. rw.peel(obj).copy());
  11. } else {
  12. return new ObjectIdRef.PeeledNonTag(
  13. leaf.getStorage(),
  14. leaf.getName(),
  15. leaf.getObjectId());
  16. }
  17. }
  18. }

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

  1. /** {@inheritDoc} */
  2. @Override
  3. public Ref peel(Ref ref) throws IOException {
  4. final Ref leaf = ref.getLeaf();
  5. if (leaf.isPeeled() || leaf.getObjectId() == null)
  6. return ref;
  7. ObjectIdRef newLeaf = doPeel(leaf);
  8. // Try to remember this peeling in the cache, so we don't have to do
  9. // it again in the future, but only if the reference is unchanged.
  10. if (leaf.getStorage().isLoose()) {
  11. RefList<LooseRef> curList = looseRefs.get();
  12. int idx = curList.find(leaf.getName());
  13. if (0 <= idx && curList.get(idx) == leaf) {
  14. LooseRef asPeeled = ((LooseRef) leaf).peel(newLeaf);
  15. RefList<LooseRef> newList = curList.set(idx, asPeeled);
  16. looseRefs.compareAndSet(curList, newList);
  17. }
  18. }
  19. return recreate(ref, newLeaf);
  20. }

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

  1. /** {@inheritDoc} */
  2. @Override
  3. protected Result doLink(String target) throws IOException {
  4. final SymbolicRef newRef = new SymbolicRef(
  5. dstRef.getName(),
  6. new ObjectIdRef.Unpeeled(
  7. Storage.NEW,
  8. target,
  9. null));
  10. if (getRefDatabase().compareAndPut(dstRef, newRef)) {
  11. getRefDatabase().stored(newRef);
  12. if (dstRef.getStorage() == Ref.Storage.NEW)
  13. return Result.NEW;
  14. return Result.FORCED;
  15. }
  16. return Result.LOCK_FAILURE;
  17. }
  18. }

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

  1. if (dst.getStorage().isLoose()) {
  2. update.unlock();
  3. delete(fileFor(name), levels);

代码示例来源: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. /** {@inheritDoc} */
  2. @Override
  3. protected Result doLink(String target) throws IOException {
  4. WriteConfig wc = database.getRepository().getConfig()
  5. .get(WriteConfig.KEY);
  6. lock.setFSync(wc.getFSyncRefFiles());
  7. lock.setNeedStatInformation(true);
  8. lock.write(encode(RefDirectory.SYMREF + target + '\n'));
  9. String msg = getRefLogMessage();
  10. if (msg != null)
  11. database.log(isForceRefLog(), this, msg, false);
  12. if (!lock.commit())
  13. return Result.LOCK_FAILURE;
  14. database.storedSymbolicRef(this, lock.getCommitSnapshot(), target);
  15. if (getRef().getStorage() == Ref.Storage.NEW)
  16. return Result.NEW;
  17. return Result.FORCED;
  18. }
  19. }

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

  1. @Override
  2. protected Result doLink(String target) throws IOException {
  3. Ref dst = new ObjectIdRef.Unpeeled(NEW, target, null);
  4. SymbolicRef n = new SymbolicRef(getName(), dst);
  5. Result desiredResult = getRef().getStorage() == NEW
  6. ? Result.NEW
  7. : Result.FORCED;
  8. return run(n, desiredResult);
  9. }

相关文章