Enhance SCM changelog model to hold more data about changes
-----------------------------------------------------------
Key: SCM-649
URL: https://jira.codehaus.org/browse/SCM-649
Project: Maven SCM
Issue Type: Improvement
Components: maven-scm-api, maven-scm-provider-git,
maven-scm-provider-svn
Affects Versions: 1.6
Reporter: Petr Kozelka
Attachments: scm-richmodel-git.patch, scm-richmodel-model.patch,
scm-richmodel-svn.patch
Hello,
I would like to get more information from SCM changelog command, and attached
patches contain my proposal doing some part of this.
There are separate patches for model and for GIT and SVN implementations, I
hope it makes them easier to review.
New functionality is mostly covered with tests.
+Summary of proposed enhancements:+
ChangeFile.java:
- added: ScmFileStatus *action*
- added: String *originalName*
- added: String *originalRevision*
- they all included in toString()
ScmFileStatus.java:
- added: *RENAMED* = new ScmFileStatus( "renamed" );
- added: *COPIED* = new ScmFileStatus( "copied" );
ChangeSet.java:
- added: String *parentRevision*
- added: Set<String> *mergedRevisions*
- both added to toString()
- both added to toXML() + those from ChangeFile - all values stored in elements
not attributes just like the others
GIT implementation notes (GitChangeLogConsumer):
- besides parsing the "whatchanged" command, now the consumer can handle also
many options of the "log" command and harvest most of its provided info.
In particular, the output of "git log --format=raw -C --raw --no-abbrev" can
be parsed.
- there is a potential to simply enable parsing for some more information like
committer, committerDate and treeHash, which I didn't yet (as GIT-only stuff it
may require separate discussion)
SVN implementation notes (SvnChangeLogConsumer):
- svn action "A" (Add) translates to "added" or "copied" depending of presence
of originalFile
- svn action "M" (Modified) always translates to "modified" no matter if there
is an originalFile; _any opinions about this ?_
- svn action "R" (Replace) translates to "updated" which IMHO has sufficiently
close semantic
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira