Guitar
guitar provides libgit2 bindings for R
Install / Use
/learn @cscheid/GuitarREADME
guitar: libgit2 bindings for R
GUITAR IS PRETTY MUCH NOT WORKING YET
Hi! You're now touring the sausage factory. This notice will disappear
once guitar is ready for public consumption.
But I want to try it!
Ok. I'm developing it on a mac. I haven't tested it on Linux, so it's
very possibly not going to work there (but feel free to take a stab at
fixing it! start at src/entry_points.cpp, and look for the dlopen calls there).
I have no idea how dynamic libraries work on Windows, and I currently
have no intention on porting guitar to Windows. Please feel free to
open an issue so we can discuss submitted patches.
Intro
guitar gives you programmatic access to git in R, through the
combined magic of libgit2 and
Rcpp.
guitar is meant to be easy to use, with simple classes and methods
mapping pretty directly into libgit2's API. If you have a hard time with it,
please file documentation issues on github. If you really don't
like it, you can alternatively use the chorus to Cake's
homonymous song for
inspiration :)
Although libgit2 has some of the high-level facilities of the the git command-line tool, most of its API deals in the low-level bits. So if you don't know what the index is, or you can't tell a blob from a ref from a tag, you're probably better off reading Pro Git first (specifically, you'll want to pay attention to chapter 9).
Dependencies
You'll need to install libgit2 with shared library support (this is possibly the default for any sensible installation), you'll need Rcpp, and you'll need boost (I like shared pointers). Since libgit2 is under intense development, stick with the development version (it's what I do, and guitar will chase libgit2's development branch, at least for a while)
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
