You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Osipov (JIRA)" <ji...@apache.org> on 2015/09/06 22:25:46 UTC
[jira] [Updated] (SCM-381) Extend API to support remote commands
like rlist, rlog
[ https://issues.apache.org/jira/browse/SCM-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov updated SCM-381:
-------------------------------
Fix Version/s: (was: future)
> Extend API to support remote commands like rlist, rlog
> ------------------------------------------------------
>
> Key: SCM-381
> URL: https://issues.apache.org/jira/browse/SCM-381
> Project: Maven SCM
> Issue Type: New Feature
> Components: maven-scm-api
> Affects Versions: 1.x
> Reporter: Sergey Zakusov
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)