Bug 499198 - DepthWalk.markUninteresting misbehaves
Summary: DepthWalk.markUninteresting misbehaves
Status: NEW
Alias: None
Product: JGit
Classification: Technology
Component: JGit (show other bugs)
Version: 4.4   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-04 20:11 EDT by Jonathan Nieder CLA
Modified: 2016-08-05 14:33 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Nieder CLA 2016-08-04 20:11:36 EDT
The JGit server when serving a shallow fetch uses markUninteresting to mark what the client has said it has and markRoot to mark what the client has said it wanted.

The markUninteresting has an unpredictable and difficult to understand effect. See https://git.eclipse.org/r/78398 for how it came up in practice. Some aspects noticed by code inspection:

- unlike PendingGenerator, it doesn't call carryFlagsImpl so the UNINTERESTING flag is not propagated
- since it uses a FIFORevQueue instead of a DateRevQueue, UNINTERESTING commits are visited in the wrong order
- UNINTERESTING commits enter the queue with no assigned depth (depth = -1). Their parents get depth depth+1 (== 0), so walking over them ends early
Comment 1 Eclipse Genie CLA 2016-08-05 14:33:47 EDT
New Gerrit change created: https://git.eclipse.org/r/78563