private DhtRef doPeel(final Ref leaf) throws MissingObjectException, IOException { RevWalk rw = new RevWalk(getRepository()); try { DhtReader ctx = (DhtReader) rw.getObjectReader(); RevObject obj = rw.parseAny(leaf.getObjectId()); RefData.Builder d = RefData.newBuilder(((DhtRef) leaf).getRefData()); ChunkKey oKey = ctx.findChunk(leaf.getObjectId()); if (oKey != null) d.getTargetBuilder().setChunkKey(oKey.asString()); else d.getTargetBuilder().clearChunkKey(); if (obj instanceof RevTag) { ObjectId pId = rw.peel(obj); d.getPeeledBuilder().setObjectName(pId.name()); ChunkKey pKey = ctx.findChunk(pId); if (pKey != null) d.getPeeledBuilder().setChunkKey(pKey.asString()); else d.getPeeledBuilder().clearChunkKey(); } else { d.clearPeeled(); } d.setIsPeeled(true); d.setSequence(d.getSequence() + 1); return new DhtObjectIdRef(leaf.getName(), d.build()); } finally { rw.release(); } }
private DhtRef doPeel(final Ref leaf) throws MissingObjectException, IOException { RevWalk rw = new RevWalk(getRepository()); try { DhtReader ctx = (DhtReader) rw.getObjectReader(); RevObject obj = rw.parseAny(leaf.getObjectId()); RefData.Builder d = RefData.newBuilder(((DhtRef) leaf).getRefData()); ChunkKey oKey = ctx.findChunk(leaf.getObjectId()); if (oKey != null) d.getTargetBuilder().setChunkKey(oKey.asString()); else d.getTargetBuilder().clearChunkKey(); if (obj instanceof RevTag) { ObjectId pId = rw.peel(obj); d.getPeeledBuilder().setObjectName(pId.name()); ChunkKey pKey = ctx.findChunk(pId); if (pKey != null) d.getPeeledBuilder().setChunkKey(pKey.asString()); else d.getPeeledBuilder().clearChunkKey(); } else { d.clearPeeled(); } d.setIsPeeled(true); d.setSequence(d.getSequence() + 1); return new DhtObjectIdRef(leaf.getName(), d.build()); } finally { rw.release(); } }
private RefData newData() throws IOException { RefData.Builder d = RefData.newBuilder(oldData); clearRefData(d); updateSequence(d); ObjectId newId = getNewObjectId(); d.getTargetBuilder().setObjectName(newId.name()); try { DhtReader ctx = (DhtReader) rw.getObjectReader(); RevObject obj = rw.parseAny(newId); ChunkKey oKey = ctx.findChunk(newId); if (oKey != null) d.getTargetBuilder().setChunkKey(oKey.asString()); if (obj instanceof RevTag) { ObjectId pId = rw.peel(obj); ChunkKey pKey = ctx.findChunk(pId); if (pKey != null) d.getPeeledBuilder().setChunkKey(pKey.asString()); d.getPeeledBuilder().setObjectName(pId.name()); } } catch (MissingObjectException e) { // Automatic peeling failed. Ignore the problem and deal with it // during reading later, this is the classical Git behavior on disk. } return d.build(); }
private RefData newData() throws IOException { RefData.Builder d = RefData.newBuilder(oldData); clearRefData(d); updateSequence(d); ObjectId newId = getNewObjectId(); d.getTargetBuilder().setObjectName(newId.name()); try { DhtReader ctx = (DhtReader) rw.getObjectReader(); RevObject obj = rw.parseAny(newId); ChunkKey oKey = ctx.findChunk(newId); if (oKey != null) d.getTargetBuilder().setChunkKey(oKey.asString()); if (obj instanceof RevTag) { ObjectId pId = rw.peel(obj); ChunkKey pKey = ctx.findChunk(pId); if (pKey != null) d.getPeeledBuilder().setChunkKey(pKey.asString()); d.getPeeledBuilder().setObjectName(pId.name()); } } catch (MissingObjectException e) { // Automatic peeling failed. Ignore the problem and deal with it // during reading later, this is the classical Git behavior on disk. } return d.build(); }
public Builder mergeFrom(org.eclipse.jgit.generated.storage.dht.proto.GitStore.RefData.Id other) { if (other == org.eclipse.jgit.generated.storage.dht.proto.GitStore.RefData.Id.getDefaultInstance()) return this; if (other.hasObjectName()) { setObjectName(other.getObjectName()); } if (other.hasChunkKey()) { setChunkKey(other.getChunkKey()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }
public Builder mergeFrom(org.eclipse.jgit.generated.storage.dht.proto.GitStore.RefData.Id other) { if (other == org.eclipse.jgit.generated.storage.dht.proto.GitStore.RefData.Id.getDefaultInstance()) return this; if (other.hasObjectName()) { setObjectName(other.getObjectName()); } if (other.hasChunkKey()) { setChunkKey(other.getChunkKey()); } this.mergeUnknownFields(other.getUnknownFields()); return this; }