Re: Why is TreeWalk.forPath(...) returning null

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Shawn O. Pearce wrote:
Farrukh Najmi <farrukh@xxxxxxxxxxxxxxxxxxxxx> wrote:
My "git status" command shows:

# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#    modified:   xml/minDB/SubmitObjectsRequest_CMSScheme.xml

The file above was committed and then modified. I want to use jgit to find the comitted version of that file.

When I do the following code I get a null treeWalk? Why is that? What should I specify for path instead?

           String path = "xml/minDB/SubmitObjectsRequest_CMSScheme.xml";
           String versionName = Constants.HEAD;

           Commit commit = repository.mapCommit(versionName);

           if (commit == null) {
log.trace("Did not find Commit. versionName:" + versionName);
           } else {
               ObjectId[] ids = {commit.getTree().getId()};
               TreeWalk treeWalk = TreeWalk.forPath(repository, path, ids);
           }

Huh.  That should have worked.

TreeWalk.forPath returns null if the path doesn't get found.  So
it sounds like jgit isn't matching the path.  Its a pretty simple
operation, I'm not sure why its failing here.  I'd run it through
a debugger to try and see why the TreeWalk didn't match your path.

Your code is logically the same as:

  git rev-parse HEAD:$path

so it should find the blob if Git would have found it.


My bad. I had a type in the path in my junit test  :-[
Its working as expected. Thanks.

--
Regards,
Farrukh Najmi

Web: http://www.wellfleetsoftware.com


--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux