change separators for git - add support of multiline comments

This commit is contained in:
oleg 2015-12-22 22:08:59 +03:00
parent 91f8a68f29
commit 66eca6b4af

View File

@ -15,9 +15,8 @@ inherits(Scm, ParentScm);
Scm.prototype.defaultRev = 'master';
// use 2 invisible separators as fields separator
Scm.prototype._fieldsSeparator = String.fromCharCode(2063);
Scm.prototype._fieldsSeparator += Scm.prototype._fieldsSeparator;
Scm.prototype._fieldsSeparator = '\u2063' + '\u2063';
Scm.prototype._linesSeparator = '\u2028' + '\u2028';
Scm.prototype._revTemplate = [
'%h', '%cn', '%cd', '%s', '%d'
@ -149,15 +148,16 @@ Scm.prototype.getChanges = function(rev1, rev2, callback) {
self.run({cmd: 'git', args: [
'log', rev1 ? rev1 + '..' + rev2 : rev2,
'--pretty=' + self._revTemplate
'--pretty=' + self._revTemplate + self._linesSeparator
]}, this.slot());
},
function(err, currentRev, stdout) {
// always skip last line - it's empty
var rows = stdout.split('\n').slice(0, -1);
var rows = stdout.split(self._linesSeparator).slice(0, -1);
var changes = _(rows).map(function(str) {
return self._parseRev(str);
// remove line break which git log add between commits
return self._parseRev(str.replace(/^\n/, ''));
});
this.pass(currentRev, changes);