[
https://issues.apache.org/jira/browse/SCM-71?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17960318#comment-17960318
]
ASF GitHub Bot commented on SCM-71:
-----------------------------------
jira-importer commented on issue #378:
URL: https://github.com/apache/maven-scm/issues/378#issuecomment-2964590553
**[Stephen
Connolly](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=stephenc)**
commented
The big road-block as I see it is how to integrate AccuRev's
depot/stream/workspace model with maven's scm model.
the scm ulr should be something like:
scm:accurev:server:port/depot/stream/path_to_module
AccuRev requires that all changes be implemented in a workspace.
We can auto discover the workspace once we know what host we are on and the
server/depot/stream details.
We can force the user to create the workspace for themselves to prevent
accumulation of temporary workspaces and the cluttering up of the stream
namespace (all streams must have a unique name, and workspaces are also
streams. you cannot delete streams, only hide them, so a temporary workspace
will not do)
The workspace is rooted at scm:accurev:server:port/depot/stream/
so if we have a module that is at
scm:accurev:server:port/depot/main_stream/my_app/my_core/my_module
the workspace will be rooted at, say
c:\workspaces\main_stream_sconnolly\
the pom.xml will be in
c:\workspaces\main_stream_sconnolly\my_app\my_core\my_module\
You cannot put a workspace inside another workspace, so when the release
plugin tries to check-out a copy of the source tree we will have to move our
workspace to the directory that the release plugin wants us to check-out into...
release is going to want us to checkout into
c:\workspaces\main_stream_sconnolly\my_app\my_core\my_module\target\temp
so we move the workspace to there, and now we populate only the module we
are using
accurev pop -R my_app\my_core\my_module
and now we have the clean checked-out pom.xml in
c:\workspaces\main_stream_sconnolly\my_app\my_core\my_module\target\temp\my_app\my_core\my_module
but the release plugin (afaik) is thinking that it's in
c:\workspaces\main_stream_sconnolly\my_app\my_core\my_module\target\temp
I am also unsure where/how to store the state info about the workspace while
the release plugin is doing it's thing...
i.e.
in order to check-out the tagged module, you need to move the workspace
stream into the snapshot stream... and when you are finished, you need to move
it back to where it was before the release plugin runs... (both in terms of the
local file system base for the workspace, and the accurev stream base for the
workspace [the stream base will come from the scm url, but the problem lies in
figuring out which workspace to move back and where it's base will be, i.e.
should it be c:\workspaces\main_stream_sconnolly\my_app\my_core\ or
c:\workspaces\main_stream_sconnolly\ if it is not
c:\workspaces\main_stream_sconnolly\ then we will have problems])
—
This is a note for anybody trying to implement as regards my stumbling
blocks. unless somebody can see an easy work-around I do not think accurev can
be integrated with the release plugin.
> Implement accurev provider
> --------------------------
>
> Key: SCM-71
> URL: https://issues.apache.org/jira/browse/SCM-71
> Project: Maven SCM (Moved to GitHub Issues)
> Issue Type: New Feature
> Components: maven-scm-provider-accurev
> Reporter: Emmanuel Venisse
> Priority: Major
> Fix For: 1.1
>
>
> I look at documentation, and it's very easy to do (works like cvs or svn)
> http://www.accurev.com/download/docs/AccuRev_User_CLI.pdf
--
This message was sent by Atlassian Jira
(v8.20.10#820010)