Mercurial HG Library für Node.js für lokale Repositories
Frage
Ich suche nach Bibliothek, die für Node.js geschrieben wurde, mit dem ich aus der Webanwendung meine lokalen Repositories in Mercurial HG verwalten kann.
Hat jemand so etwas implementiert?
Lösung
Ich habe noch nie von einer solchen Bibliothek gehört - sie wurde nicht angekündigt Unsere Mailinglist. Die stabile API für Quecksilber ist die Befehlszeile, Ich schlage also vor, nur zu starten hg
direkt und analysieren Sie die Ausgabe. Es ist so konzipiert, dass es leicht zu Screen-Scape zu sein ist, und Sie können es weiter anpassen, indem Sie verwendet werden Vorlagen.
Andere Tipps
Ich habe ein Modul erstellt, das auf NPM genannt wird Node-Hg Genau aus diesem Grund.
Es ist eine Wrapper um die Befehlsserver Das gibt Befehle über stdin
und analysiert auf Ausgabe auf stdout
.
Hier ist ein Beispiel dafür, wie es funktioniert:
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);
});
});
});
});