diff --git a/lib/scm/mercurial.js b/lib/scm/mercurial.js index 2cf50c7..c69a4e2 100644 --- a/lib/scm/mercurial.js +++ b/lib/scm/mercurial.js @@ -15,13 +15,9 @@ inherits(Scm, ParentScm); Scm.prototype.defaultRev = 'default'; -// use 2 invisible separators as fields separator -Scm.prototype._fieldsSeparator = String.fromCharCode(2063); -Scm.prototype._fieldsSeparator += Scm.prototype._fieldsSeparator; - -// use 2 vertical tabs as arrays separator -Scm.prototype._arraysSeparator = String.fromCharCode(11); -Scm.prototype._arraysSeparator += Scm.prototype._arraysSeparator; +Scm.prototype._arraysSeparator = '\u2064' + '\u2064'; +Scm.prototype._fieldsSeparator = '\u2063' + '\u2063'; +Scm.prototype._linesSeparator = '\u2028' + '\u2028'; Scm.prototype._revTemplate = [ '{node|short}', @@ -94,13 +90,15 @@ Scm.prototype.getChanges = function(rev1, rev2, callback) { function() { self.run({cmd: 'hg', args: [ 'log', '--rev', rev2 + ':' + rev1, - '--template', self._revTemplate + '\n' + '--template', self._revTemplate + self._linesSeparator ]}, this.slot()); }, function(err, stdout) { // always skip last line - it's empty and also skip first // rev if we see range - var rows = stdout.split('\n').slice(0, rev1 === rev2 ? -1 : -2); + var rows = stdout.split(self._linesSeparator).slice( + 0, rev1 === rev2 ? -1 : -2 + ); var changes = _(rows).map(function(str) { return self._parseRev(str);