Skip to content

Latest commit

 

History

History
61 lines (44 loc) · 2.1 KB

File metadata and controls

61 lines (44 loc) · 2.1 KB

git2cpp

GithubActions Documentation Status

This is a C++ wrapper of libgit2 to provide a command-line interface (CLI) to git functionality. The intended use is in WebAssembly in-browser terminals (see cockle and JupyterLite terminal projects) but it can be compiled and used on any POSIX-compliant system.

See overview.md for further details.

Developer's workflow using micromamba to manage the dependencies:

micromamba create -f dev-environment.yml
micromamba activate git2cpp-dev
cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
cd build
make -j8

The git2cpp executable can then be run, e.g. ./git2cpp -v.

The CLI is tested using python. From the top-level directory:

pytest -v

WebAssembly build and deployment

The wasm directory contains everything needed to build the local git2cpp source code as an WebAssembly Emscripten-forge package, create local cockle and JupyterLite terminal deployments that run in a browser, and test the WebAssembly build.

See the README.md in the wasm directory for further details.

The latest cockle and JupyterLite terminal deployments using git2cpp are available at https://quantstack.net/git2cpp

Documentation

The project documentation is generated from the git2cpp help pages. To build the documentation locally first build git2cpp as usual as described above, then install the documentation dependencies:

micromamba install myst-parser sphinx sphinx-book-theme

and build the documentation:

cd docs
make html

The top-level documentation page will be docs/_build/html/index.html