summaryrefslogtreecommitdiff
path: root/diffcore-pickaxe.c
diff options
context:
space:
mode:
authorHan Xin <hanxin.hx@bytedance.com>2023-04-26 21:15:04 +0800
committerJunio C Hamano <gitster@pobox.com>2023-04-26 10:38:57 -0700
commit10e8a52ef11bbf260f0cb672d9b02b3cd9c780ca (patch)
tree3b2551da97d150145bd3c8383b5c5b4b0548d7ab /diffcore-pickaxe.c
parent8e21ff5edb305bcfc12fc782f1c92542c427b624 (diff)
negotiator/skipping: fix some problems in mark_common()
The mark_common() method in negotiator/skipping.c was converted from recursive to iterative in 4654134976f (negotiator/skipping: avoid stack overflow, 2022-10-25), but there is some more work to do: 1. prio_queue() should be used with clear_prio_queue(), otherwise there will be a memory leak. 2. It does not do duplicate protection before prio_queue_put(). (The COMMON bit would work here, too.) 3. When it translated from recursive to iterative it kept "return" statements that should probably be "continue" statements. 4. It does not attempt to parse commits, and instead returns immediately when finding an unparsed commit. This is something that it did in its original version, so maybe it is by design, but it doesn't match the doc comment for the method. Helped-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Han Xin <hanxin.hx@bytedance.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diffcore-pickaxe.c')
0 files changed, 0 insertions, 0 deletions