Кто-нибудь реализовал клон или библиотеку интерфейсов git, используя nodejs?

Я ищу реализацию git, доступную из nodejs - существует ли такой зверь?

Ответ 1

Похоже, теперь есть несколько вариантов использования git от node:

  • подарок: простая Node.js-оболочка для git CLI с API на основе Grit (npm/github)
  • node - git: a Node.js git реализация, смоделированная на grit (npm/github)
  • nodegit: асинхронные собственные привязки libgit2 (npm/github)
  • node - git: тонкая оболочка командной строки git (github)

Ответ 2

Обратите внимание, что если есть git библиотека для Node, но вы также можете просто выполнить процесс оболочки напрямую, например:

var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { sys.puts(stdout) }
exec("git status", puts);

Ответ 3

существует также node-gitteh как привязки libgit2, но и gitteh и christkv/ node - git не были качества и полноты, которые мне нужны

Я написал treeeater оболочку spawn git, которая может быть вызвана с помощью простых объектов javascript вместо строки, может анализировать некоторый вывод (git log → commit objects, git ls-tree → tree object hierachy) и запускается async. Он активно используется и поддерживает все команды git, по крайней мере, для их вызова и подачи их выходного фрагмента или строки. Вы можете придерживаться git man-страниц, чтобы получить документацию по каждой команде.