Petr Kozelka created SCM-679:
--------------------------------

             Summary: enhance scm api to support limited number of returned 
changesets by changelog command
                 Key: SCM-679
                 URL: https://jira.codehaus.org/browse/SCM-679
             Project: Maven SCM
          Issue Type: New Feature
          Components: maven-scm-api, maven-scm-provider-bazaar, 
maven-scm-provider-git, maven-scm-provider-mercurial (hg), 
maven-scm-provider-svn
    Affects Versions: 1.7, 1.8
            Reporter: Petr Kozelka
         Attachments: scm-changelog-limit.patch

The current api returns changesets between specified/unspecified 
dates/revisions.
This leaves some important usecases unsupported; some of them are:
- get last changeset on given repository/path
- get last n changesets there ("first page" when browsing changes)

The only workarround currently possible is, list all commits and filter them - 
but this is very time consuming.
For this reason, I propose attached enhancement which overloads the changeLog 
method, adding the limit parameter:

{code}
    ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, 
Date startDate, Date endDate,
                                  int numDays, ScmBranch branch, String 
datePattern, Integer limit )
        throws ScmException;
{code}

For the "last changeset" usecase, the client sets limit = 1.

For "paged browsing", it can specify null startDate/endDate on firstPage, and 
then work with dates for next/previous pages, still using the limit to specify 
page size.

Note that the limit parameter can be null (as it is "Integer", not "int") to 
specify unlimited number of returned changesets.

The suggested patch includes deprecations of enhanced methods, I hope this is a 
good way to reduce the number of actively used overloaded variants of 
"changelog" in future.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to