summaryrefslogtreecommitdiff
path: root/t/t6001-rev-list-graft.sh
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2007-03-05 12:31:09 -0500
committerLibravatar Shawn O. Pearce <spearce@spearce.org>2007-03-05 12:31:09 -0500
commit734c91f9e292cf6ed1401c178bc9fbb902cc82dd (patch)
tree856bfb7910a03f250e85caa584c83b03a31cd326 /t/t6001-rev-list-graft.sh
parentGIT 1.5.0.3 (diff)
downloadtgif-734c91f9e292cf6ed1401c178bc9fbb902cc82dd.tar.xz
fast-import: Avoid infinite loop after reset
Johannes Sixt noticed that a 'reset' command applied to a branch that is already active in the branch LRU cache can cause fast-import to relink the same branch into the LRU cache twice. This will cause the LRU cache to contain a cycle, making unload_one_branch run in an infinite loop as it tries to select the oldest branch for eviction. I have trivially fixed the problem by adding an active bit to each branch object; this bit indicates if the branch is already in the LRU and allows us to avoid trying to add it a second time. Converting the pack_id field into a bitfield makes this change take up no additional memory. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 't/t6001-rev-list-graft.sh')
0 files changed, 0 insertions, 0 deletions