* Why is TreeWalk.forPath(...) returning null
@ 2008-11-12 22:24 Farrukh Najmi
2008-11-12 22:42 ` Shawn O. Pearce
0 siblings, 1 reply; 3+ messages in thread
From: Farrukh Najmi @ 2008-11-12 22:24 UTC (permalink / raw)
To: git
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);
}
Thanks.
--
Regards,
Farrukh Najmi
Web: http://www.wellfleetsoftware.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Why is TreeWalk.forPath(...) returning null
2008-11-12 22:24 Why is TreeWalk.forPath(...) returning null Farrukh Najmi
@ 2008-11-12 22:42 ` Shawn O. Pearce
2008-11-12 22:52 ` Farrukh Najmi
0 siblings, 1 reply; 3+ messages in thread
From: Shawn O. Pearce @ 2008-11-12 22:42 UTC (permalink / raw)
To: Farrukh Najmi; +Cc: git
Farrukh Najmi <farrukh@wellfleetsoftware.com> 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.
--
Shawn.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Why is TreeWalk.forPath(...) returning null
2008-11-12 22:42 ` Shawn O. Pearce
@ 2008-11-12 22:52 ` Farrukh Najmi
0 siblings, 0 replies; 3+ messages in thread
From: Farrukh Najmi @ 2008-11-12 22:52 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: git
Shawn O. Pearce wrote:
> Farrukh Najmi <farrukh@wellfleetsoftware.com> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-11-12 22:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-12 22:24 Why is TreeWalk.forPath(...) returning null Farrukh Najmi
2008-11-12 22:42 ` Shawn O. Pearce
2008-11-12 22:52 ` Farrukh Najmi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).