Add truncated flag for git

This commit is contained in:
Rene Pfeuffer
2020-02-18 15:24:32 +01:00
parent 9afc3a9580
commit 3652a33fa0
3 changed files with 21 additions and 5 deletions

View File

@@ -153,6 +153,7 @@ public class GitBrowseCommand extends AbstractGitCommand
fileObject.setName("");
fileObject.setPath("");
fileObject.setDirectory(true);
fileObject.setTruncated(false);
return fileObject;
}
@@ -253,7 +254,7 @@ public class GitBrowseCommand extends AbstractGitCommand
private FileObject findChildren(FileObject parent, org.eclipse.jgit.lib.Repository repo, BrowseCommandRequest request, ObjectId revId, TreeWalk treeWalk) throws IOException {
List<FileObject> files = Lists.newArrayList();
while (treeWalk.next() && resultCount < request.getLimit() + request.getProceedFrom())
while (treeWalk.next() && ++resultCount <= request.getLimit() + request.getProceedFrom())
{
FileObject fileObject = createFileObject(repo, request, revId, treeWalk);
@@ -262,12 +263,10 @@ public class GitBrowseCommand extends AbstractGitCommand
return fileObject;
}
if (resultCount >= request.getProceedFrom()) {
if (resultCount > request.getProceedFrom()) {
files.add(fileObject);
}
++resultCount;
if (request.isRecursive() && fileObject.isDirectory()) {
treeWalk.enterSubtree();
FileObject rc = findChildren(fileObject, repo, request, revId, treeWalk);
@@ -279,6 +278,10 @@ public class GitBrowseCommand extends AbstractGitCommand
parent.setChildren(files);
if (resultCount > request.getLimit() + request.getProceedFrom()) {
parent.setTruncated(true);
}
return null;
}