Package org.eclipse.jgit.lib

Examples of org.eclipse.jgit.lib.ObjectReader


    final ObjectLoader blobLoader;
    final RevCommit fromCommit;
    final String suffix;
    final String path = patchKey.getFileName();
    try {
      final ObjectReader reader = repo.newObjectReader();
      try {
        final RevWalk rw = new RevWalk(reader);
        final RevCommit c;
        final TreeWalk tw;

        c = rw.parseCommit(ObjectId.fromString(patchSet.getRevision().get()));
        if (side == 0) {
          fromCommit = c;
          suffix = "new";

        } else if (1 <= side && side - 1 < c.getParentCount()) {
          fromCommit = rw.parseCommit(c.getParent(side - 1));
          if (c.getParentCount() == 1) {
            suffix = "old";
          } else {
            suffix = "old" + side;
          }

        } else {
          rsp.sendError(HttpServletResponse.SC_NOT_FOUND);
          return;
        }

        tw = TreeWalk.forPath(reader, path, fromCommit.getTree());
        if (tw == null) {
          rsp.sendError(HttpServletResponse.SC_NOT_FOUND);
          return;
        }

        if (tw.getFileMode(0).getObjectType() == Constants.OBJ_BLOB) {
          blobLoader = reader.open(tw.getObjectId(0), Constants.OBJ_BLOB);

        } else {
          rsp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
          return;
        }
      } finally {
        reader.release();
      }
    } catch (IOException e) {
      getServletContext().log("Cannot read repository", e);
      rsp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
      return;
View Full Code Here


      modifiedFiles.clear();
      return;
    }

    DirCache dc = db.readDirCache();
    ObjectReader or = db.getObjectDatabase().newReader();
    Iterator<String> mpathsIt=modifiedFiles.iterator();
    while(mpathsIt.hasNext()) {
      String mpath=mpathsIt.next();
      DirCacheEntry entry = dc.getEntry(mpath);
      FileOutputStream fos = new FileOutputStream(new File(db.getWorkTree(), mpath));
      try {
        or.open(entry.getObjectId()).copyTo(fos);
      } finally {
        fos.close();
      }
      mpathsIt.remove();
    }
View Full Code Here

        newHead = continueRebase();

      if (this.operation == Operation.SKIP)
        newHead = checkoutCurrentHead();

      ObjectReader or = repo.newObjectReader();

      List<Step> steps = loadSteps();
      for (Step step : steps) {
        popSteps(1);
        Collection<ObjectId> ids = or.resolve(step.commit);
        if (ids.size() != 1)
          throw new JGitInternalException(
              "Could not resolve uniquely the abbreviated object ID");
        RevCommit commitToPick = walk
            .parseCommit(ids.iterator().next());
View Full Code Here

    fw.write("# Created by EGit: rebasing " + upstreamCommit.name()
        + " onto " + headId.name());
    fw.newLine();
    try {
      StringBuilder sb = new StringBuilder();
      ObjectReader reader = walk.getObjectReader();
      for (RevCommit commit : cherryPickList) {
        sb.setLength(0);
        sb.append(Action.PICK.toToken());
        sb.append(" ");
        sb.append(reader.abbreviate(commit).name());
        sb.append(" ");
        sb.append(commit.getShortMessage());
        fw.write(sb.toString());
        fw.newLine();
      }
View Full Code Here

   *             a tree object was not found.
   */
  public static TreeWalk forPath(final Repository db, final String path,
      final AnyObjectId... trees) throws MissingObjectException,
      IncorrectObjectTypeException, CorruptObjectException, IOException {
    ObjectReader reader = db.newObjectReader();
    try {
      return forPath(reader, path, trees);
    } finally {
      reader.release();
    }
  }
View Full Code Here

    this.start = start;
    this.list = list;
  }

  public Object call() throws Exception {
    final ObjectReader or = templateReader.newReader();
    try {
      DeltaWindow dw;
      dw = new DeltaWindow(config, dc, or);
      dw.search(pm, list, start, batchSize);
    } finally {
      or.release();
      pm.endWorker();
    }
    return null;
  }
View Full Code Here

   * @throws IOException
   *             file contents cannot be read from the repository.
   */
  public List<DiffEntry> compute(ProgressMonitor pm) throws IOException {
    if (!done) {
      ObjectReader reader = repo.newObjectReader();
      try {
        return compute(reader, pm);
      } finally {
        reader.release();
      }
    }
    return Collections.unmodifiableList(entries);
  }
View Full Code Here

        if ( id == null )
        {
            throw new IllegalArgumentException( name );
        }
        final CanonicalTreeParser p = new CanonicalTreeParser();
        final ObjectReader or = repo.newObjectReader();
        try
        {
            p.reset( or, new RevWalk( repo ).parseTree( id ) );
            return p;
        }
        finally
        {
            or.release();
        }
    }
View Full Code Here

        PathFilter f = PathFilter.create(basePath);
        tw.setFilter(f);
      }
      tw.setRecursive(true);
      MutableObjectId id = new MutableObjectId();
      ObjectReader reader = tw.getObjectReader();
      long modified = commit.getAuthorIdent().getWhen().getTime();
      while (tw.next()) {
        FileMode mode = tw.getFileMode(0);
        if (mode == FileMode.GITLINK || mode == FileMode.TREE) {
          continue;
        }
        tw.getObjectId(id, 0);

        ZipArchiveEntry entry = new ZipArchiveEntry(tw.getPathString());
        entry.setSize(reader.getObjectSize(id, Constants.OBJ_BLOB));
        entry.setComment(commit.getName());
        entry.setUnixMode(mode.getBits());
        entry.setTime(modified);
        zos.putArchiveEntry(entry);
View Full Code Here

      modifiedFiles.clear();
      return;
    }

    DirCache dc = db.readDirCache();
    ObjectReader or = db.getObjectDatabase().newReader();
    Iterator<String> mpathsIt=modifiedFiles.iterator();
    while(mpathsIt.hasNext()) {
      String mpath=mpathsIt.next();
      DirCacheEntry entry = dc.getEntry(mpath);
      FileOutputStream fos = new FileOutputStream(new File(db.getWorkTree(), mpath));
      try {
        or.open(entry.getObjectId()).copyTo(fos);
      } finally {
        fos.close();
      }
      mpathsIt.remove();
    }
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.lib.ObjectReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.