Proposal: use https://github.com/src-d/go-git #651

Closed
opened 2025-11-02 03:31:36 -06:00 by GiteaMirror · 2 comments
Owner

Originally created by @typeless on GitHub (Apr 19, 2017).

Upside:

  1. No dependency on particular versions of the on-site git command.
  2. Better performance due to less fork/exec/IPC (measurement needed).
  3. More reliable error handling (no stdout/stderr parsing).
  4. Less complexities. (Pure Go function calls vs exec.Command + exec.Start + exec.Wait + stdout/stderr parsing).

If the is desired, then incrementally replacing some read-only Git operations will be a good start.

Originally created by @typeless on GitHub (Apr 19, 2017). Upside: 1. No dependency on particular versions of the on-site `git` command. 2. Better performance due to less fork/exec/IPC (measurement needed). 3. More reliable error handling (no stdout/stderr parsing). 4. Less complexities. (Pure Go function calls vs exec.Command + exec.Start + exec.Wait + stdout/stderr parsing). If the is desired, then incrementally replacing some read-only Git operations will be a good start.
GiteaMirror added the type/feature label 2025-11-02 03:31:36 -06:00
Author
Owner

@strk commented on GitHub (Apr 19, 2017):

If I read correctly the code in its current version does not support merges ?
See https://github.com/src-d/go-git
Also, are you suggesting to use this as one of the implementations of the go-gitea/git interface as proposed somewhere else or as the primary API for git work ?
Did you test performance compared to libgit ?

@strk commented on GitHub (Apr 19, 2017): If I read correctly the code in its current version does not support merges ? See https://github.com/src-d/go-git Also, are you suggesting to use this as one of the implementations of the go-gitea/git interface as proposed somewhere else or as the primary API for git work ? Did you test performance compared to libgit ?
Author
Owner

@bkcsoft commented on GitHub (Apr 19, 2017):

Duplicate of #481. Please continue there

@bkcsoft commented on GitHub (Apr 19, 2017): Duplicate of #481. Please continue there
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#651