791d686c4884d257e4d2f09fa6e3af765c0017f3
Improve the commit message generation process by adding a caching mechanism and refining the input handling. This change aims to enhance performance and prevent redundant computations when generating commit messages based on staged changes. - **src-tauri/crates/commit_ai/src/cloud.rs**: - Introduced `looks_like_diff_echo` function to detect if the model's output is a diff instead of a commit message. - Updated `openai_compatible_request` and `generate_anthropic` to utilize the new function for error handling. - **src-tauri/crates/commit_ai/src/lib.rs**: - Added `LocalGenerationProfile` enum for managing different generation profiles. - Implemented caching for generated messages to avoid redundant processing. - Updated `generate_commit_message` to incorporate caching logic. - **src-tauri/src/git.rs**: - Added `staged_diff_local` function to handle local profile generation and exclude specific lock files from the diff. - Modified `commit_ai_generate` to accept and process the local generation profile. - **src/App.svelte**: - Added `lastLocalAiGeneratedMessage` state to track the last generated message and prevent unnecessary updates. - **.claude/settings.local.json**: - Updated settings to include additional commands for better functionality.
Tauri Git Lite
Eine kleine Git-Desktop-App mit Tauri, Rust und Svelte.
Funktionen
- Repository per lokalem Pfad öffnen
- aktuellen Branch, Upstream, Ahead/Behind und Arbeitsbaumstatus anzeigen
- Branches auflisten und auschecken
- Branches in den aktuellen Branch mergen
- Commit-History mit geänderten Dateien anzeigen
- Explorer-Ansicht mit Ordnerbaum sowie getrackten und ungetrackten Dateien
- Datei- und Ordner-History direkt aus dem Explorer anzeigen
- einzelne Dateien stagen, unstagen und wiederherstellen
- einzelne Dateien oder ganze Ordner aus einem History-Commit wiederherstellen
- aktuellen Branch auf einen ausgewählten Commit zurücksetzen
- Commit mit Message erstellen
- Pull mit Fast-Forward-Strategie
- Push auf den konfigurierten Upstream
Entwicklung
npm install
npm run tauri:dev
Frontend allein:
npm run dev
Checks:
npm run check
npm run build
cd src-tauri
cargo check
Hinweis
Die App nutzt das lokal installierte git CLI. Ein Repository muss daher bereits auf der Maschine vorhanden sein, und Push/Pull verwenden die Credentials, die Git lokal kennt.