2013-04-10 2 views
0

Привет, недавно мне нужно реализовать git API для узла-модуля, поэтому мы можем иметь управление версиями через программный интерфейс. Я наткнулся на this post, чтобы найти хорошие модули, которые я могу использовать.Написание git API для узла узла javascript

Однако, после нескольких игр, я понял, что никто из них не предоставляет функцию запроса истории фиксации одного файла (например, вызов git log -follow). Я хотел бы расширить эту функцию в своем модуле, но поскольку у меня нет опыта, кто-нибудь знает, с чего я должен начать?

ответ

1

Библиотеки, о которых вы упомянули, должны быть хорошей отправной точкой. Например, возьмите node-git's lib/git.js file. Там вы можете найти следующие строки:

// Call the native git binary 
Git.prototype.call_git = function(prefix, command, postfix, options, args, callback) { 
    // ... 

Это хорошая отправная точка, чтобы понять, как автор сопоставляет функции Узел системных вызовов и и позволяет обратного вызова для работы с выходным сигналом.

Я бы начал развилку проекта. Посмотрите на логарифмической функции в same file, который начинается как

Git.prototype.log = function(commit, path, options, callback) { 

Copy функция, дать ему имя и попытаться принять его, чтобы удовлетворить ваши потребности.

Если вы преуспеете и хотите помочь, вы можете начать запрос на перенос на GitHub, чтобы помочь автору и добавить функциональность в официальный проект.

Я сделал бы это таким образом. Надеюсь, это поможет.

+0

Спасибо @Seb, на самом деле я решил просто погрузиться в исходный код и обнаружил, что это довольно четко документировано. Я должен иметь возможность плавного продления модуля :) –

Смежные вопросы