/** * Get the file mode of the given path in the index * * @param path a {@link java.lang.String} object. * @return file mode */ public FileMode getIndexMode(String path) { final DirCacheEntry entry = dirCache.getEntry(path); return entry != null ? entry.getFileMode() : FileMode.MISSING; }
private void keep(DirCacheEntry e) { if (e != null && !FileMode.TREE.equals(e.getFileMode())) builder.add(e); }
private void checkout() throws NoWorkTreeException, IOException { // Iterate in reverse so that "folder/file" is deleted before // "folder". Otherwise this could result in a failing path because // of a non-empty directory, for which delete() would fail. for (int i = toBeDeleted.size() - 1; i >= 0; i--) { String fileName = toBeDeleted.get(i); File f = new File(nonNullRepo().getWorkTree(), fileName); if (!f.delete()) if (!f.isDirectory()) failingPaths.put(fileName, MergeFailureReason.COULD_NOT_DELETE); modifiedFiles.add(fileName); } for (Map.Entry<String, DirCacheEntry> entry : toBeCheckedOut .entrySet()) { DirCacheEntry cacheEntry = entry.getValue(); if (cacheEntry.getFileMode() == FileMode.GITLINK) { new File(nonNullRepo().getWorkTree(), entry.getKey()).mkdirs(); } else { DirCacheCheckout.checkoutEntry(db, cacheEntry, reader, false, checkoutMetadata.get(entry.getKey())); modifiedFiles.add(entry.getKey()); } } }
/** * {@inheritDoc} * <p> * Use for debugging only ! */ @SuppressWarnings("nls") @Override public String toString() { return getFileMode() + " " + getLength() + " " + getLastModified() + " " + getObjectId() + " " + getStage() + " " + getPathString() + "\n"; }
case DIFFER_BY_METADATA: if (mode == FileMode.TREE.getBits() && entry.getFileMode().equals(FileMode.GITLINK)) { byte[] idBuffer = idBuffer(); int idOffset = idOffset();
private int computeSize(final DirCacheEntry[] cache, int cIdx, final int pathOffset, final ObjectInserter ow) throws UnmergedPathException, IOException { final int endIdx = cIdx + entrySpan; int childIdx = 0; int entryIdx = cIdx; int size = 0; while (entryIdx < endIdx) { final DirCacheEntry e = cache[entryIdx]; if (e.getStage() != 0) throw new UnmergedPathException(e); final byte[] ep = e.path; if (childIdx < childCnt) { final DirCacheTree st = children[childIdx]; if (st.contains(ep, pathOffset, ep.length)) { final int stOffset = pathOffset + st.nameLength() + 1; st.writeTree(cache, entryIdx, stOffset, ow); size += entrySize(TREE, st.nameLength()); entryIdx += st.entrySpan; childIdx++; continue; } } size += entrySize(e.getFileMode(), ep.length - pathOffset); entryIdx++; } return size; }
FS fs = repo.getFS(); WorkingTreeOptions opt = repo.getConfig().get(WorkingTreeOptions.KEY); if (entry.getFileMode() == FileMode.SYMLINK && opt.getSymLinks() == SymLinks.TRUE) { byte[] bytes = ol.getBytes();
DirCacheEntry ent = i.getDirCacheEntry(); if (ent != null && compareMetadata(ent) == MetadataDiff.EQUAL && ((ent.getFileMode().getBits() & FileMode.TYPE_MASK) != FileMode.TYPE_GITLINK)) { contentIdOffset = i.idOffset();
/** * adds a entry to the index builder which is a copy of the specified * DirCacheEntry * * @param e * the entry which should be copied * * @return the entry which was added to the index */ private DirCacheEntry keep(DirCacheEntry e) { DirCacheEntry newEntry = new DirCacheEntry(e.getRawPath(), e.getStage()); newEntry.setFileMode(e.getFileMode()); newEntry.setObjectId(e.getObjectId()); newEntry.setLastModified(e.getLastModified()); newEntry.setLength(e.getLength()); builder.add(newEntry); return newEntry; }
.getFileMode(), e.idBuffer(), e.idOffset()); entryIdx++;
/** * Get the file mode of the given path in the index * * @param path * @return file mode */ public FileMode getIndexMode(final String path) { final DirCacheEntry entry = dirCache.getEntry(path); return entry != null ? entry.getFileMode() : FileMode.MISSING; }
@Nonnull public static FileMode getFileMode(@Nonnull String path, @Nonnull DirCache cache) throws NoSuchCacheEntryException { DirCacheEntry entry = getEntry(path, cache); if(entry == null) throw new NoSuchCacheEntryException("/" + TreeUtils.normalizeTreePath(path)); return entry.getFileMode(); }
dcEntry.setObjectId(fTree.getEntryObjectId()); } else { if (FileMode.GITLINK.equals(dcEntry.getFileMode())) dcEntry.setObjectId(fTree.getEntryObjectId()); else {
@Override public void apply(DirCacheEntry ent) { ent.setFileMode(oldEntry.getFileMode()); ent.setObjectId(oldEntry.getObjectId()); } });
@Override public void apply(DirCacheEntry ent) { ent.setFileMode(e.getFileMode()); ent.setObjectId(e.getObjectId()); } });
@Override public void apply(DirCacheEntry ent) { ent.setFileMode(oldEntry.getFileMode()); ent.setObjectId(oldEntry.getObjectId()); } });
@Override public void apply(DirCacheEntry ent) { ent.setFileMode(oldEntry.getFileMode()); ent.setObjectId(oldEntry.getObjectId()); } });
&& FileMode.GITLINK.equals(dce.getFileMode())) {
&& (!update || GITLINK == entry.getFileMode())) { builder.add(entry);
/** * {@inheritDoc} * <p> * Use for debugging only ! */ @SuppressWarnings("nls") @Override public String toString() { return getFileMode() + " " + getLength() + " " + getLastModified() + " " + getObjectId() + " " + getStage() + " " + getPathString() + "\n"; }