This is an automated email from the ASF dual-hosted git repository.

Startrekzky pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/devlake-website.git


The following commit(s) were added to refs/heads/main by this push:
     new aa10f36c269 docs: remove libgit2 from the gitextractor setup (#838)
aa10f36c269 is described below

commit aa10f36c26982986f982adf87a32200bd322d6f8
Author: Klesh Wong <[email protected]>
AuthorDate: Sun Nov 1 19:57:00 2026 +0800

    docs: remove libgit2 from the gitextractor setup (#838)
    
    gitextractor now reads repositories with the git command line, so the
    libgit2 build guide, pkg-config/LD_LIBRARY_PATH instructions and the
    libgit2 troubleshooting entries no longer apply. Document the git 2.31+
    requirement instead and update the standalone-mode command.
    
    RefDiff does not depend on libgit2 either, so its Development section is
    removed. versioned_docs for released versions are left untouched.
---
 docs/DeveloperManuals/DeveloperSetup.md | 16 +++-----
 docs/Plugins/gitextractor.md            | 73 +++++----------------------------
 docs/Plugins/refdiff.md                 |  5 ---
 docs/Troubleshooting/Configuration.md   |  2 +-
 4 files changed, 17 insertions(+), 79 deletions(-)

diff --git a/docs/DeveloperManuals/DeveloperSetup.md 
b/docs/DeveloperManuals/DeveloperSetup.md
index 471adf1b488..304e3ab00c6 100644
--- a/docs/DeveloperManuals/DeveloperSetup.md
+++ b/docs/DeveloperManuals/DeveloperSetup.md
@@ -10,6 +10,7 @@ sidebar_position: 1
 
 - <a href="https://docs.docker.com/get-docker"; target="_blank">Docker 
v19.03.10+</a>
 - <a href="https://golang.org/doc/install"; target="_blank">Golang v1.19+</a>
+- <a href="https://git-scm.com/downloads"; target="_blank">Git 2.31+</a> (used 
by the `gitextractor` plugin)
 - <a href="https://www.gnu.org/software/make/"; target="_blank">GNU Make</a>
   - Mac (Preinstalled)
   - Windows: [Download](http://gnuwin32.sourceforge.net/packages/make.htm)
@@ -27,9 +28,8 @@ The following guide will walk through how to run DevLake's 
frontend (`config-ui`
    cd devlake
    ```
 
-2. Install dependencies for plugins:
-
-   - [RefDiff](../Plugins/refdiff.md#development)
+2. Make sure `git` (2.31 or newer) is on your `PATH`. The `gitextractor` plugin
+   uses it to clone and read repositories; no other plugin dependencies are 
required.
 
 3. Install Go packages
 
@@ -108,15 +108,9 @@ For provisioning, customizing, and creating dashboards, 
please refer to our [Gra
 ## Troubleshooting
 
 
-    Q: Running `make dev` yields error: `libgit2.so.1.3: cannot open share 
object file: No such file or directory`
-
-    A: `libgit2.so.1.3` is required by the gitextractor plugin and should be . 
Make sure your program can find `libgit2.so.1.3`. `LD_LIBRARY_PATH` can be 
assigned like this if your `libgit2.so.1.3` is located at `/usr/local/lib`:
+    Q: Running `make dev` yields `git: executable file not found in $PATH`
 
-    ```sh
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
-    ```
-   
-    Note that the version has to be pinned to 1.3.0. If you don't have it, you 
may need to build it manually with CMake from 
[source](https://github.com/libgit2/libgit2/releases/tag/v1.3.0).
+    A: The `gitextractor` plugin clones and reads repositories with the `git` 
command line. Install git 2.31 or newer and make sure it is on your `PATH`.
 
 
 ## Compiling
diff --git a/docs/Plugins/gitextractor.md b/docs/Plugins/gitextractor.md
index b4e4a206fb2..0b63249a410 100644
--- a/docs/Plugins/gitextractor.md
+++ b/docs/Plugins/gitextractor.md
@@ -54,84 +54,33 @@ curl --location --request POST 'localhost:8080/pipelines' \
 You call also run this plugin in a standalone mode without any DevLake service 
running using the following command:
 
 ```
-go run plugins/gitextractor/main.go -url 
https://github.com/merico-dev/lake.git -id github:GithubRepo:384111310 -db 
"merico:merico@tcp(127.0.0.1:3306)/lake?charset=utf8mb4&parseTime=True"
+cd backend
+go run ./plugins/gitextractor -url https://github.com/apache/devlake.git 
-repoId github:GithubRepo:384111310
 ```
 
-For more options (e.g., saving to a csv file instead of a db), please read 
`plugins/gitextractor/main.go`.
+It uses the database configured in `.env` (`DB_URL`).
+
+For more options (e.g., `skipCommitStat`, `skipCommitFiles`), please read 
`plugins/gitextractor/gitextractor.go`.
 
 ## Development
 
-This plugin depends on `libgit2`, you need to install version 1.3.0 to run and 
debug this plugin on your local
-machine.
+This plugin reads repositories by running `git` commands against a local clone,
+so it requires **git 2.31 or newer** where DevLake runs. libgit2, cgo and a C
+toolchain are no longer needed.
 
 ### Linux
 
 ```
-1. require cmake
 [ubuntu]
-apt install cmake -y
-[centos]
-yum install cmake -y
-
-2. compiling
-git clone -b v1.3.0 https://github.com/libgit2/libgit2.git && cd libgit2
-mkdir build && cd build && cmake ..
-make && make install
-
-3.PKG_CONFIG and LD_LIBRARY_PATH
+apt install git -y
 [centos]
-export 
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64:/usr/local/lib64/pkgconfig
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
-[ubuntu]
-export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib:/usr/local/lib/pkgconfig
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
+yum install git -y
 ```
 
-#### Troubleshooting (Linux)
-
-> Q: # pkg-config --cflags -- libgit2 Package libgit2 was not found in the 
pkg-config search path.
-> Perhaps you should add the directory containing `libgit2.pc` to the 
PKG_CONFIG_PATH environment variable
-> No package 'libgit2' found pkg-config: exit status 1
-
-> A:
-> Make sure your pkg config path covers the installation:
-> if your libgit2.pc in `/usr/local/lib64/pkgconfig`(like centos)
->
-> `export 
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64:/usr/local/lib64/pkgconfig`
->
-> else if your libgit2.pc in `/usr/local/lib/pkgconfig`(like ubuntu)
->
-> `export 
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib:/usr/local/lib/pkgconfig`
->
-> else consider install pkgconfig or rebuild the libgit2
-
 ### MacOS
 
-NOTE: **Do NOT** install libgit2 via `MacPorts` or `homebrew`, install from 
source instead.
-
 ```
-brew install cmake
-git clone https://github.com/libgit2/libgit2.git
-cd libgit2
-git checkout v1.3.0
-mkdir build
-cd build
-cmake ..
-make
-make install
+brew install git
 ```
 
-#### Troubleshooting (MacOS)
-
-> Q: I got an error saying: `pkg-config: exec: "pkg-config": executable file 
not found in $PATH`
-
-> A:
->
-> 1. Make sure you have pkg-config installed:
->
-> `brew install pkg-config`
->
-> 2. Make sure your pkg config path covers the installation:
->    `export 
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib:/usr/local/lib/pkgconfig`
-
 <br/><br/><br/>
diff --git a/docs/Plugins/refdiff.md b/docs/Plugins/refdiff.md
index 2394c73c651..101031ef2a2 100644
--- a/docs/Plugins/refdiff.md
+++ b/docs/Plugins/refdiff.md
@@ -124,9 +124,4 @@ curl 'http://localhost:8080/pipelines' \
 }'
 ```
 
-## Development
-
-This plugin depends on `libgit2`, you need to install version 1.3.0 in order 
to run and debug this plugin on your local
-machine. [Click here](./gitextractor.md#Development) for a brief guide.
-
 <br/><br/><br/>
diff --git a/docs/Troubleshooting/Configuration.md 
b/docs/Troubleshooting/Configuration.md
index 4f3e9b846fc..fe31a714375 100644
--- a/docs/Troubleshooting/Configuration.md
+++ b/docs/Troubleshooting/Configuration.md
@@ -19,7 +19,7 @@ description: >
 There might be two problems when trying to collect data from a private GitLab 
server with a self-signed certificate:
 
 1. "Test Connection" error. This can be solved by setting the environment 
variable `IN_SECURE_SKIP_VERIFY=true` for the `devlake` container
-2. "GitExtractor" fails to clone the repository due to certificate 
verification, sadly, neither gogit nor git2go we are using supports insecure 
HTTPS.
+2. "GitExtractor" fails to clone the repository due to certificate 
verification. Setting `IN_SECURE_SKIP_VERIFY=true` also disables TLS 
verification for the git clone (`GIT_SSL_NO_VERIFY=true`).
 
 A better approach would be adding your root CA to the `devlake` container:
 

Reply via email to