|
||||||||
|
This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators. For more information on JIRA, see: http://www.atlassian.com/software/jira |
||||||||
- [JIRA] (JENKINS-14537) Template SCMs + Mult... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)
- [JIRA] (JENKINS-14537) Template SCMs +... [email protected] (JIRA)

Looking into this more, I guess the real problem is that the changelog itself is generally not XML (but plain text). ProxySCM generally does not inject any sort of identifier that it is the one responsible for the changelog (just proxies what the original SCM changelog said, verbatim). I see that Multiple-SCMs actually expects to never have a nested <multiple-scms/> node (because it removes the MultiSCM descriptor from the list of available SCMs to choose from). However, the ProxySCM now makes it possible to have that nested changelog, and because it's a template project, it actually does make sense to allow for that.
One way to get around this would be to strip the <multiple-scms></multiple-scms> tags from the ProxySCM sublog, but then you're relying on text-based magic to achieve it, and it still wouldn't really be perfect.
Instead, I think the most appropriate way to fix this is to go back to what the standard ChangeLogParser does (at least, how GitSCM works), and NOT expect any XML structure at all. Instead, maybe a kind of binary-safe parser that inserts a marker with the SCM class identifier, plus the length of the next "sub-log chunk". The reader would then read the length number, then read that many bytes from the file, and treat that as one separate sublog file. Then the sublog writer call would look something more like: