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

        

Reply via email to