hg
A Mercurial client for Node
Last updated 2 years ago by bustexz .
MIT · Repository · Original npm · Tarball · package.json
$ cnpm install hg 
SYNC missed versions from official npm registry.

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

Current Tags

  • 0.3.3                                ...           latest (2 years ago)

19 Versions

  • 0.3.3                                ...           2 years ago
  • 0.3.2                                ...           2 years ago
  • 0.3.1                                ...           2 years ago
  • 0.3.0                                ...           2 years ago
  • 0.2.3                                ...           2 years ago
  • 0.2.2                                ...           2 years ago
  • 0.2.1                                ...           2 years ago
  • 0.2.0                                ...           4 years ago
  • 0.1.4                                ...           5 years ago
  • 0.1.3                                ...           5 years ago
  • 0.1.2                                ...           5 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
  • 0.0.6                                ...           6 years ago
  • 0.0.5                                ...           6 years ago
  • 0.0.4                                ...           7 years ago
  • 0.0.3                                ...           7 years ago
  • 0.0.2                                ...           7 years ago
  • 0.0.1                                ...           7 years ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (3)
Dev Dependencies (10)

Copyright 2014 - 2017 © taobao.org |