[PR #302] [MERGED] Move a bunch of git ops to use the git binary #224

Closed
opened 2025-12-29 07:19:56 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mountain-loop/yaak/pull/302
Author: @gschier
Created: 11/17/2025
Status: Merged
Merged: 11/18/2025
Merged by: @gschier

Base: mainHead: git-binary


📝 Commits (10+)

  • 0e8dfa1 PoC binary command for pushing
  • ea5ed90 PoC for getting credentials
  • 1322aa3 Tweaks
  • 83cbe47 Add support for managing Git remotes and handle credential prompts for pull/push actions
  • a376a7d Fix messaging
  • 4cf9863 Convert fetch as well
  • f4777f2 Move Git commit as well
  • e903e60 Add error handling for missing Git binary and refactor command creation
  • 17ff563 Share push() between commands
  • 8c130b0 PR fixes

📊 Changes

43 files changed (+1239 additions, -1177 deletions)

View changed files

📝 src-tauri/yaak-common/src/lib.rs (+1 -1)
📝 src-tauri/yaak-git/bindings/gen_git.ts (+5 -5)
📝 src-tauri/yaak-git/build.rs (+4 -0)
📝 src-tauri/yaak-git/index.ts (+148 -76)
📝 src-tauri/yaak-git/permissions/default.toml (+4 -0)
src-tauri/yaak-git/src/add.rs (+16 -0)
src-tauri/yaak-git/src/binary.rs (+16 -0)
📝 src-tauri/yaak-git/src/branch.rs (+8 -18)
src-tauri/yaak-git/src/callbacks.rs (+0 -76)
📝 src-tauri/yaak-git/src/commands.rs (+36 -5)
src-tauri/yaak-git/src/commit.rs (+20 -0)
src-tauri/yaak-git/src/credential.rs (+47 -0)
📝 src-tauri/yaak-git/src/error.rs (+9 -0)
📝 src-tauri/yaak-git/src/fetch.rs (+12 -29)
src-tauri/yaak-git/src/git.rs (+0 -673)
src-tauri/yaak-git/src/init.rs (+14 -0)
📝 src-tauri/yaak-git/src/lib.rs (+17 -7)
src-tauri/yaak-git/src/log.rs (+73 -0)
📝 src-tauri/yaak-git/src/pull.rs (+79 -33)
📝 src-tauri/yaak-git/src/push.rs (+42 -52)

...and 23 more files

📄 Description

https://feedback.yaak.app/p/use-git-binary-for-trickier-ops

This PR uses the installed git binary for fetch, pull, push, and commit operations (used git2 crate before) to ensure the behavior is what the users expect, regarding SSH, signing, proxies, and more.

It also adds:

  • Prompt for credentials with https:// remotes
  • Prompt for remote when none set
  • Adds dialog to manage remotes
CleanShot 2025-11-17 at 14 34 47@2x

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mountain-loop/yaak/pull/302 **Author:** [@gschier](https://github.com/gschier) **Created:** 11/17/2025 **Status:** ✅ Merged **Merged:** 11/18/2025 **Merged by:** [@gschier](https://github.com/gschier) **Base:** `main` ← **Head:** `git-binary` --- ### 📝 Commits (10+) - [`0e8dfa1`](https://github.com/mountain-loop/yaak/commit/0e8dfa1798e331f2da64fc024e0cbf068106faef) PoC binary command for pushing - [`ea5ed90`](https://github.com/mountain-loop/yaak/commit/ea5ed90a175d42e3bd6e477b98ab89d936d70618) PoC for getting credentials - [`1322aa3`](https://github.com/mountain-loop/yaak/commit/1322aa39b708f2d36250cbc3d9c3432571074296) Tweaks - [`83cbe47`](https://github.com/mountain-loop/yaak/commit/83cbe47485f7ee70f253af0f51aeea2bb31e956e) Add support for managing Git remotes and handle credential prompts for pull/push actions - [`a376a7d`](https://github.com/mountain-loop/yaak/commit/a376a7dbf7ecec2237499cb9aff28a984b224de5) Fix messaging - [`4cf9863`](https://github.com/mountain-loop/yaak/commit/4cf98637aa5a28df18d25b5c1c136e33afce9792) Convert fetch as well - [`f4777f2`](https://github.com/mountain-loop/yaak/commit/f4777f20397dfd44fc3a5966c43ced46ba1bf49e) Move Git commit as well - [`e903e60`](https://github.com/mountain-loop/yaak/commit/e903e60f49415099a308f47c65032fe6523932a8) Add error handling for missing Git binary and refactor command creation - [`17ff563`](https://github.com/mountain-loop/yaak/commit/17ff5631dec4dcdd8221eff17eb14d7b153476fd) Share push() between commands - [`8c130b0`](https://github.com/mountain-loop/yaak/commit/8c130b0a6889d7c9886be9a33dd58ca072fd4c05) PR fixes ### 📊 Changes **43 files changed** (+1239 additions, -1177 deletions) <details> <summary>View changed files</summary> 📝 `src-tauri/yaak-common/src/lib.rs` (+1 -1) 📝 `src-tauri/yaak-git/bindings/gen_git.ts` (+5 -5) 📝 `src-tauri/yaak-git/build.rs` (+4 -0) 📝 `src-tauri/yaak-git/index.ts` (+148 -76) 📝 `src-tauri/yaak-git/permissions/default.toml` (+4 -0) ➕ `src-tauri/yaak-git/src/add.rs` (+16 -0) ➕ `src-tauri/yaak-git/src/binary.rs` (+16 -0) 📝 `src-tauri/yaak-git/src/branch.rs` (+8 -18) ➖ `src-tauri/yaak-git/src/callbacks.rs` (+0 -76) 📝 `src-tauri/yaak-git/src/commands.rs` (+36 -5) ➕ `src-tauri/yaak-git/src/commit.rs` (+20 -0) ➕ `src-tauri/yaak-git/src/credential.rs` (+47 -0) 📝 `src-tauri/yaak-git/src/error.rs` (+9 -0) 📝 `src-tauri/yaak-git/src/fetch.rs` (+12 -29) ➖ `src-tauri/yaak-git/src/git.rs` (+0 -673) ➕ `src-tauri/yaak-git/src/init.rs` (+14 -0) 📝 `src-tauri/yaak-git/src/lib.rs` (+17 -7) ➕ `src-tauri/yaak-git/src/log.rs` (+73 -0) 📝 `src-tauri/yaak-git/src/pull.rs` (+79 -33) 📝 `src-tauri/yaak-git/src/push.rs` (+42 -52) _...and 23 more files_ </details> ### 📄 Description https://feedback.yaak.app/p/use-git-binary-for-trickier-ops This PR uses the installed `git` binary for fetch, pull, push, and commit operations (used `git2` crate before) to ensure the behavior is what the users expect, regarding SSH, signing, proxies, and more. It also adds: - Prompt for credentials with `https://` remotes - Prompt for remote when none set - Adds dialog to manage remotes <img width="1916" height="1124" alt="CleanShot 2025-11-17 at 14 34 47@2x" src="https://github.com/user-attachments/assets/9601dff4-8b20-444e-9def-5afbfd9d594c" /> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 07:19:56 +01:00
adam closed this issue 2025-12-29 07:19:56 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/yaak#224