Maven SCM

Please add support for blame command

Details

  • Complexity:
    Intermediate
  • Testcase included:
    yes
  • Patch Submitted:
    Yes
  • Number of attachments :
    1

Description

I've made an extension for Maven SCM for blame command. This extension currently part of Sonar SCM Activity Plugin and supports Subversion (pure Java too), Git, CVS, Mercurial and Bazaar. For all of these providers I made unit-tests. It would be nice to include these command into Maven SCM. Source code can be found here: http://svn.codehaus.org/sonar-plugins/trunk/scm-activity/maven-scm-ext/

Issue Links

Activity

Hide
Olivier Lamy added a comment -

As it can be a huge patch.
Could please send a CLA to ASF ? ( see http://www.apache.org/licenses/icla.txt )
I don't have issue for the one I have submitted through my patch in Sonar but for the others.

To others as the code is already ASF license granted do we really need a cla ?

Show
Olivier Lamy added a comment - As it can be a huge patch. Could please send a CLA to ASF ? ( see http://www.apache.org/licenses/icla.txt ) I don't have issue for the one I have submitted through my patch in Sonar but for the others. To others as the code is already ASF license granted do we really need a cla ?
Hide
Evgeny Mandrikov added a comment -

General question - where I should send it?

Show
Evgeny Mandrikov added a comment - General question - where I should send it?
Hide
Evgeny Mandrikov added a comment -

Sended.

Show
Evgeny Mandrikov added a comment - Sended.
Hide
Evgeny Mandrikov added a comment -

Is there progress? Maybe I can help somehow?

Show
Evgeny Mandrikov added a comment - Is there progress? Maybe I can help somehow?
Hide
Olivier Lamy added a comment -

ATM not enough spare time (ski holidays coming ).
BTW if you provide a patch it will be faster .

Show
Olivier Lamy added a comment - ATM not enough spare time (ski holidays coming ). BTW if you provide a patch it will be faster .
Hide
Evgeny Mandrikov added a comment -

Ok, I'll try to prepare patch.

Show
Evgeny Mandrikov added a comment - Ok, I'll try to prepare patch.
Hide
Olivier Lamy added a comment -

note for maven-scm the code must be 1.4 compatible (not as in sonar where the code use generics)

Show
Olivier Lamy added a comment - note for maven-scm the code must be 1.4 compatible (not as in sonar where the code use generics)
Hide
Evgeny Mandrikov added a comment -

Yes, I know

Show
Evgeny Mandrikov added a comment - Yes, I know
Hide
Evgeny Mandrikov added a comment -

Code in trunk now Java 1.4 compatible. Is it possible to create branch in maven-scm for me? If not, I'll attach huge patch here.

Show
Evgeny Mandrikov added a comment - Code in trunk now Java 1.4 compatible. Is it possible to create branch in maven-scm for me? If not, I'll attach huge patch here.
Hide
Olivier Lamy added a comment -

provide your patch

Show
Olivier Lamy added a comment - provide your patch
Hide
Evgeny Mandrikov added a comment -

Patch attached.

Show
Evgeny Mandrikov added a comment - Patch attached.
Hide
Olivier Lamy added a comment -

fixed in rev 922015
Thanks !

Show
Olivier Lamy added a comment - fixed in rev 922015 Thanks !
Hide
Olivier Lamy added a comment - - edited

Reopen as a tck-git failed

mvn clean verify -Ptck-git -Dtest=GitExeBlameCommandTckTest -DfailIfNoTests=false -Dsurefire.useFile=false

junit.framework.ComparisonFailure: expected:<[92f139df]> but was:<[^92f139d]>
        at junit.framework.Assert.assertEquals(Assert.java:81)
        at junit.framework.Assert.assertEquals(Assert.java:87)
        at org.apache.maven.scm.provider.git.gitexe.command.blame.GitExeBlameCommandTckTest.verifyResult(GitExeBlameCommandTckTest.java:53)
        at org.apache.maven.scm.tck.command.blame.BlameCommandTckTest.testBlameCommand(BlameCommandTckTest.java:99)
        at org.apache.maven.scm.provider.git.gitexe.command.blame.GitExeBlameCommandTckTest.testBlameCommand(GitExeBlameCommandTckTest.java:44)

This issue happen on solaris env (with git version 1.5.6.2)
But not on windauze (with git version 1.6.5.1.1367.gcd48)

Show
Olivier Lamy added a comment - - edited Reopen as a tck-git failed
mvn clean verify -Ptck-git -Dtest=GitExeBlameCommandTckTest -DfailIfNoTests=false -Dsurefire.useFile=false

junit.framework.ComparisonFailure: expected:<[92f139df]> but was:<[^92f139d]>
        at junit.framework.Assert.assertEquals(Assert.java:81)
        at junit.framework.Assert.assertEquals(Assert.java:87)
        at org.apache.maven.scm.provider.git.gitexe.command.blame.GitExeBlameCommandTckTest.verifyResult(GitExeBlameCommandTckTest.java:53)
        at org.apache.maven.scm.tck.command.blame.BlameCommandTckTest.testBlameCommand(BlameCommandTckTest.java:99)
        at org.apache.maven.scm.provider.git.gitexe.command.blame.GitExeBlameCommandTckTest.testBlameCommand(GitExeBlameCommandTckTest.java:44)
This issue happen on solaris env (with git version 1.5.6.2) But not on windauze (with git version 1.6.5.1.1367.gcd48)
Hide
Evgeny Mandrikov added a comment -

And I can't reproduce this on my Linux box with git 1.6.4.4

Show
Evgeny Mandrikov added a comment - And I can't reproduce this on my Linux box with git 1.6.4.4
Hide
Olivier Lamy added a comment -

so upgrading to git version 1.6.2.1 fix the issue.

Show
Olivier Lamy added a comment - so upgrading to git version 1.6.2.1 fix the issue.
Hide
Mark Struberg added a comment -

Evgeny, we had a discussion over in SCM-606 of scm:blame should report the 'author' or the 'committer'?
I now assume that the committer information is of better quality (at least for sonar), isn't? Need a quick confirm here txs!

Show
Mark Struberg added a comment - Evgeny, we had a discussion over in SCM-606 of scm:blame should report the 'author' or the 'committer'? I now assume that the committer information is of better quality (at least for sonar), isn't? Need a quick confirm here txs!
Hide
Evgeny Mandrikov added a comment -

Hi Mark,

Author is responsible for creation of patch, whereas committer responsible for acceptance of patch, so from my point of view they both responsible for quality of commit. Which means that for quality measures in Sonar it would be better to have access to both values.

Show
Evgeny Mandrikov added a comment - Hi Mark, Author is responsible for creation of patch, whereas committer responsible for acceptance of patch, so from my point of view they both responsible for quality of commit. Which means that for quality measures in Sonar it would be better to have access to both values.
Hide
Mark Struberg added a comment -

That sounds like we need both fields in the BlameLine. Will create a new Jiraffe for this feature.

Show
Mark Struberg added a comment - That sounds like we need both fields in the BlameLine. Will create a new Jiraffe for this feature.
Hide
Evgeny Mandrikov added a comment -

Note that this relates not only to balme, but also to changelog, which should include both authors and committers.

Show
Evgeny Mandrikov added a comment - Note that this relates not only to balme, but also to changelog, which should include both authors and committers.

People

Vote (7)
Watch (6)

Dates

  • Created:
    Updated:
    Resolved: