Hi, I am trying to read all or n-th version of an object. Currently to do this I am using the following piece of code, which has to walk to every commit is present and from there prepare a set of its object id, it is definitely expensive if the commit history is huge, is there a faster/better way to achieve it? for (int i = 0; i < App.OBJECT_COUNT; ++i) { System.out.println("INDEX: " + i); String isbn = String.valueOf(Integer.parseInt(App.INIT_ID) + i); System.out.println("ISBN: " + isbn); ObjectWalk objectWalk = new ObjectWalk(repo); /* * Checks whether the Commit has the tree or not. It does not * check whether it has changed or not. */ objectWalk.setTreeFilter(PathFilter.create(isbn)); RevObject revObject = null; objectWalk.markStart(objectWalk.parseCommit(repo.resolve( Constants.HEAD))); Set<ObjectId> revisions = new HashSet<ObjectId>(); do { if (revObject != null) { Commit revision = repo.mapCommit(revObject.getId()); Tree versionTree = repo.mapTree(revision.getTreeId()); if (versionTree.existsBlob(isbn)) { revisions.add(versionTree.findBlobMember(isbn).getId()); } } revObject = objectWalk.next(); } while (revObject != null); System.out.println("Revisions: " + revisions); } The details source code of the project is available @ http://github.com/imyousuf/jgit-usage/tree/master Thank you, -- Imran M Yousuf Entrepreneur & Software Engineer Smart IT Engineering Dhaka, Bangladesh Email: imran@xxxxxxxxxxxxxxxxxxxxxx Blog: http://imyousuf-tech.blogs.smartitengineering.com/ Mobile: +880-1711402557 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html