You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Olivier Lamy (JIRA)" <ji...@codehaus.org> on 2009/11/30 23:03:55 UTC

[jira] Updated: (SCM-381) Extend API to support remote commands like rlist, rlog

     [ http://jira.codehaus.org/browse/SCM-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olivier Lamy updated SCM-381:
-----------------------------

    Fix Version/s: future

> Extend API to support remote commands like rlist, rlog
> ------------------------------------------------------
>
>                 Key: SCM-381
>                 URL: http://jira.codehaus.org/browse/SCM-381
>             Project: Maven SCM
>          Issue Type: New Feature
>          Components: maven-scm-api
>    Affects Versions: 1.x
>            Reporter: Sergey Zakusov
>             Fix For: future
>
>
> We propose to extend the existing API to support some remote commands - it's a really required feature to allow work with SCMs without Working Copies.
> For a start there should be done the following commands:
> # *rlist* - to list remotely repository entries;
> # *rinfo* - to get information about repository entries;
> # *rlog* - to get change log of repository entries;
> # *rcat* - to get file contents remotely.
> It can be specified as a new interface extended from ScmManager:
> {code:title=ScmRemoteManager.java|bolderStyle=solid}
> public interface ScmRemoteManager extends ScmManager {
>     /**
>      * Lists remotely each element specified by <B>i_fileSet</B> in the repository.
>      * 
>      * @param i_repository the source control system to use
>      * @param i_fileSet the entries (files and/or directories) to list
>      * @param i_recursive descend recursively
>      * @param i_version use the version defined by the branch/tag/revision
>      * @return The list of entries in the repository
>      * @throws ScmException if the command cannot be performed
>      * @see ScmManager#list(ScmRepository, ScmFileSet, boolean, ScmVersion) to work with Working Copy
>      */
>     ListScmResult rlist(ScmRepository i_repository, ScmFileSet i_fileSet, boolean i_recursive, ScmVersion i_version)
>             throws ScmException;
>     /**
>      * Retrieves information about each remote element specified by <B>i_fileSet</B>.
>      * 
>      * @param i_repository the source control system to use
>      * @param i_fileSet the entries (files and/or directories) to get information
>      * @param i_version the branch/tag/revision to use
>      * @return Information about each requested entry from the repository
>      * @throws ScmException if the command cannot be performed
>      */
>     InfoScmResult rinfo(ScmRepository i_repository, ScmFileSet i_fileSet, ScmVersion i_version) throws ScmException;
>     /**
>      * Retrieves log information about each remote element specified by <B>i_fileSet</B>.
>      * 
>      * @param i_repository the source control system to use
>      * @param i_fileSet the entries (files and/or directories) to get information
>      * @param i_startVersion the start branch/tag/revision
>      * @param i_endVersion the end branch/tag/revision
>      * @return Log information about each requested entry from the repository
>      * @throws ScmException if the command cannot be performed
>      * @see ScmManager#changeLog(ScmRepository, ScmFileSet, ScmVersion, ScmVersion) to work with Working Copy
>      */
>     ChangeLogScmResult rlog(ScmRepository i_repository, ScmFileSet i_fileSet, ScmVersion i_startVersion,
>             ScmVersion i_endVersion) throws ScmException;
>     /**
>      * Fetches the contents and/or properties of each remote element specified by <B>i_fileSet</B>.
>      * 
>      * @param i_repository the source control system to use
>      * @param i_fileSet the files to get content
>      * @param i_version the branch/tag/revision to use
>      * @return Contents and/or properties of each requested file from the repository
>      * @throws ScmException if the command cannot be performed
>      */
>     CatScmResult rcat(ScmRepository i_repository, ScmFileSet i_fileSet, ScmVersion i_version) throws ScmException;
> }
> {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira