You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Gitlog fails when the subject or body includes quotation marks #101
In case this helps anyone, you can set the format in the config file to exclude subject and body (assuming you dont need it) and it wont break the json parser.
Looking into the source-code it will be difficult to fix this if we don't do a more granular parsing of the git log output.
When logging a range of commits the handleResult method will receive a string that almost have the complete format of a JSON. This is where the problem starts, since it's now too late to redefine the parsing.
Looking into a similar question in SO the solution implies that we parse each commit individually, even more, for each field we want to get there is a git log for that:
Activity
nburana commentedon Feb 17, 2015
Having the same issue. In the meantime is there a way that client code can specify the format to remove subject and body?
nburana commentedon Feb 17, 2015
In case this helps anyone, you can set the format in the config file to exclude subject and body (assuming you dont need it) and it wont break the json parser.
module.exports = function (options) {
return {
head: {
options: {
prop: 'gitlog.head.result',
number: 1,
pretty: 'format:{%n' +
' "hash": "%H",%n' + // commit hash
' "author": {%n' +
' "name": "%an",%n' + // author
' "email": "%ae"%n' + // email
' },%n' +
' "date": "%aD"%n' + // date
'}%n' +
'--grunt-gitlog-separator--'
}
}
}
}
am commentedon Feb 17, 2015
@nburana the problem persists if you need that field...
nburana commentedon Feb 17, 2015
Yeah totally. We just needed the hash and the date so this worked for us.
am commentedon Feb 17, 2015
Looking into the source-code it will be difficult to fix this if we don't do a more granular parsing of the git log output.
When logging a range of commits the handleResult method will receive a string that almost have the complete format of a JSON. This is where the problem starts, since it's now too late to redefine the parsing.
Looking into a similar question in SO the solution implies that we parse each commit individually, even more, for each field we want to get there is a
git logfor that:Not sure if this would be too much overhead for this task.
Any thoughts?
dbrill commentedon Oct 21, 2019
Has anyone found a reasonable work around for this.
Would anyone benefit from me submitting a PR? If this comment gets a reasonable amount of notice I'll submit something.