Shelves are damn slow (recalculates working status per file)

Issue #4093 open
Danylo Hlynskyi
created an issue

thg shelves are very slow. When working directory contains lot of changed files (20-30), shelve operation can be 5-7 minutes long

One suggestion is - that is due to largefiles (my repo has ~600 largefiles).

The other suggestion is - that is thg issue. Even one-line changes are shelved via command line twice as fast than via GUI

Comments (7)

  1. Yuya Nishihara

    The problem is that TortoiseHg shelve dialog moves chunks and re-calculates working-directory status per file.

    I tried to eliminate refreshCombos() (which is the top of the slow stack) from the inner loop of moveFilesRight() and moveFilesLeft(), but it didn't work. Perhaps mergeChunks() or removeFile() requires a fresh status of files. So this won't be a one-line fix.

    Anyway we should support the Mercurial shelve, its interactive chunk selection, and deprecated our implementation.

  2. Log in to comment