0.3.3 • Published 7 years ago
hg v0.3.3
Node-hg
A node js command server client for Mercurial.
Installation
npm install hg
Example
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;
}
console.log(hg.Parsers.text(output));
});
// Get command output as JSON
hg.branches({"-T":"json"}, function(err, output) {
if(err) {
throw err;
}
var branches = hg.Parsers.json(output);
branches.forEach(function(b) {
console.log(b.branch + " - " + b.active);
});
});
});
});
Exposed Base Classes
HGRepo
The base class for Mercurial Repo interaction. The exposed API is just wrappers around the functions available in HGRepo
.
var hg = require("hg"),
HGRepo = hg.HGRepo;
var repo = new HGRepo("/some/path/to/repo");
repo.summary(function(err, output) {
if (err) {
throw err;
}
output.forEach(function(line) {
console.log(line.body);
});
});
repo.add(["."], function(err, output) {
if (err) {
throw err;
}
output.forEach(function(line) {
console.log(line.body);
});
});
// And so on...
HGCommandServer
The base class responsible for instantiating and communicating with a Mercurial command server. Must be instantiated in an existing Mercurial repository (check out HGRepo.MakeTempRepo
to quickly get a temporary repo up)
var hg = require("hg"),
HGCommandServer = hg.HGCommandServer;
var serv = new HGCommandServer();
serv.start("/some/path/to/repo", function(err) {
if (err) {
throw err;
}
console.log("Command Server Started", serv.capabilities, serv.encoding);
serv.on("output", function(err, lines) {
lines.forEach(function(line) {
console.log(line.body);
});
});
serv.runcommand("summary");
});
Release Notes
0.3.1
Improvements
- Added definitions
0.2.2
Improvements
- Publish fix capabilities issue
0.2.0
Improvements
- Parser for JSON output
- Added commands
remove
branches
diff
LICENSE
MIT, No Attribution Required, Copyright 2013 Jacob Gable
0.3.3
7 years ago
0.3.2
7 years ago
0.3.1
7 years ago
0.3.0
7 years ago
0.2.3
7 years ago
0.2.2
7 years ago
0.2.1
7 years ago
0.2.0
9 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
11 years ago
0.1.0
11 years ago
0.0.6
11 years ago
0.0.5
11 years ago
0.0.4
12 years ago
0.0.3
12 years ago
0.0.2
12 years ago
0.0.1
12 years ago