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