Biblioteca Mercurial HG para Node.js para repositorios locales
Pregunta
Estoy buscando biblioteca escrita para Node.js que podré usar para administrar desde la aplicación web que mis repositorios locales crearon en Mercurial HG.
¿Alguien implementó algo así?
Solución
Nunca he oído hablar de una biblioteca así, no se ha anunciado en nuestra lista de correo. La API estable para Mercurial es la línea de comando, así que sugiero simplemente lanzar hg
directamente y analizando la salida. Está diseñado para ser fácil de cortar en pantalla y puede personalizarlo mediante el uso de plantillas.
Otros consejos
He creado un módulo disponible en NPM llamado nodo-hg por precisamente esta razón.
Es un envoltorio alrededor del Servidor de comandos que emite comandos a través de stdin
y la salida de analizar stdout
.
Aquí hay un ejemplo de cómo funciona:
var path = require("path");
var hg = require("hg");
// Clone into "../example-node-hg"
var destPath = path.resolve(path.join(process.cwd(), "..", "my-node-hg"));
hg.clone("http://bitbucket.org/jgable/node-hg", destPath, function(err, output) {
if(err) {
throw err;
}
output.forEach(function(line) {
console.log(line.body);
});
// Add some files to the repo with fs.writeFile, omitted for brevity
hg.add(destPath, ["someFile1.txt", "someFile2.txt"], function(err, output) {
if(err) {
throw err;
}
output.forEach(function(line) {
console.log(line.body);
});
var commitOpts = {
"-m": "Doing the needful"
};
// Commit our new files
hg.commit(destPath, commitOpts, function(err, output) {
if(err) {
throw err;
}
output.forEach(function(line) {
console.log(line.body);
});
});
});
});