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í?

¿Fue útil?

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);
            });
        });
    });
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top