Git: кэш+пагинация истории, diff в потоке, точечный коммит, честное удаление
- История: кэш по vault|rel|headOid, fileHistory(vault,file,limit), в диалоге Показать ещё по 60 с сохранением выбора - Diff считается в QtConcurrent-пуле (parseBlocksWithDiffAsync+blocksReady, stale-guard), спиннер busy; MarkdownView.diffApplied - commitFile точечно вместо всего хранилища (общий commitFromIndex), autoCommit честный; fileExistedAt + willDelete в подтверждении - DocumentManager.readTextFile общий (GitManager.workdirContent через него); fileGitStatus через relativePath - Тесты: пагинация/кэш, existed, commitFile не трогает B, async==sync
This commit is contained in:
@@ -79,6 +79,11 @@ private:
|
||||
void ensureAutosave();
|
||||
QString readFile(const QString &path, bool *ok) const;
|
||||
|
||||
public:
|
||||
// Общее чтение текстового файла с лимитом (защита от OOM). Используется и GitManager.
|
||||
static QString readTextFile(const QString &path, qint64 maxBytes = 10LL * 1024 * 1024,
|
||||
bool *ok = nullptr);
|
||||
|
||||
QList<Doc> m_docs;
|
||||
int m_active = -1;
|
||||
int m_secondary = -1;
|
||||
|
||||
Reference in New Issue
Block a user