TurtleGit for Mac

View Markdown source ↗

Saved Data settings

Open Settings → Saved Data to clear histories or make previously suppressed questions appear again. The controls follow TortoiseGit's Saved Data page.

Hover over URL or input-message history controls to see the current number of saved entries and histories. Their Clear buttons are disabled when no matching saved history exists. Stored decisions can always be cleared, matching upstream. URL, input-message, stored-decision and action-log controls act immediately. Temporary-file cleanup asks for confirmation.

Newly opened dialogs load the cleared histories. An already open dialog can keep its current text and loaded dropdown choices; clearing saved data does not cancel an operation or erase the text being edited. Its next submission can save a new history entry.

These controls target explicit preference keys. They preserve repository bookmarks, working files, commits, indexes, SSH key-path history, branch/revision histories, ordinary dialog options, appearance settings and the separately managed action log. They do not delete private key files or credentials.

Source and current limits

Adapted from pinned TortoiseGit 7338078f8ddd924b8cddee35f512f2286072136d, src/TortoiseProc/Settings/SetSavedDataPage.cpp/.h and src/Resources/TortoiseProcENG.rc. The decision fixture records all 21 source TortoiseGit decision keys and the source merge-editor key, with the source blob and pin. Native aliases map Commit and Stash choices to their macOS preference names. Windows registry histories become native preferences. URL histories include Request Pull's existing native list; its other per-repository input defaults are preserved.

Authentication management and Show Log cache clearing are implemented in the native Saved Data page. Authentication management targets TurtleGit-owned SSH Keychain entries; it does not erase external Git HTTP credential-helper stores or Windows Subversion credentials. Merge input-message history is implemented; see Merge parity. Clearing both histories fixes the pinned source asymmetry in which Merge is counted but only Commit is deleted.

The merge-editor reset key DeleteFileWhenEmpty remains in the source catalogue. The pinned Merge save flow already asks Delete/Keep for an empty result, and the native editor has the corresponding owned question. Neither pinned prompt reads that legacy reset key; it does not establish a missing remembered-answer feature.

The project-hook reset addition follows SetSavedDataPage.cpp:395–397, which removes the approvedhooks namespace. Native decisions use the exact ClientHooks.Approvals preference key. The reset checkpoint records the actual focused Core and grouped native results separately. This guide makes no new signed-installation or full-port acceptance claim.

Core tests check the source catalogue, reset scope, multiple Commit repositories, false/integer remembered answers and preserved neighboring keys. After a Debug build, python3 scripts/test-saved-data.py checks real native model loading, private histories, restored Stash Pop questions and a hidden settings host. These headless checks use isolated preferences and repositories; they do not launch the main app.