RE: ClearCase implementation

2005-11-14 Thread Jeff Jensen
Hi guys,

I've recently started monitoring this list as I am very interested in the
Perforce Maven SCM implementation (I recently obtained the source and
started looking at how far along it is).

I'm butting in here as I have some thoughts that may have use to your
implementations.  I have used a number of SCMs, such as Perforce, ClearCase,
CVS, SVN, PVCS, StarTeam, and others you've never heard of ;-).  Some I know
really well (even setup and admin experience), and some just a casual user.

I have a couple of comments I will inline.
 

> -Original Message-
> From: Emmanuel Venisse [mailto:[EMAIL PROTECTED] 
> Sent: Monday, November 14, 2005 4:26 AM
> To: scm-dev@maven.apache.org
> Subject: Re: ClearCase implementation
> 
> 
> 
> Wim Deblauwe a écrit :

[snip]

> > 2) About the checkout command: In ClearCase, you are looking at 
> > read-only files and you "check out" 1 file to edit that file. After 
> > that you check your file in. This is not the same for SVN for 
> > instance, where checkout means, get me all the files of a 
> certain project. Am I correct?
> > How should I then implement checkout. What is it used for in 
> > Maven/Continuum?
> 
> yes, a checkout command get all files. We need this feature 
> for Maven and continuum for obtaining all files and build a project.
> For Clearcase implementation, you can get all files in 
> read-only mode (if it's a clearcase
> standard) and eventually add an optional parameter in 
> checkout command for editing a file

CVS and SVN are a couple of the few SCMs that use "checkout" in this manner.
Most of the other SCMs use some type of "get latest" command for that, and
use "checkout" to tell the server the user will now edit a file.

The concept is much clearer to the non-CVS/SVN populace with "get latest",
"checkout", checkin".  It will be very weird for those users to do the Maven
scm "checkout" command to get latest for SCMs like Perforce, ClearCase, VSS,
etc. many others.

For example, CVS uses checkout/update commands to get latest, and "edit" for
tracking with watchers.

Polymorphism and overloading is usually what I prefer, but here I am not
sure - the very different use of commands like "checkout" gives concern, and
I suggest using the traditional sense of these (e.g. ClearCase, Perforce
manner) for all SCMs or using separate commands/having them mean different
things per SCM type).


> (Is it an equivalent to a lock command?).

Checkout is not equivalent to a lock command.  It may also do a lock,
depending on the checkout mode (if the SCM has a checkout mode): pessimistic
lock or optimistic lock (reserved or unreserved checkouts in ClearCase
terms).  Some SCMs give the user the choice on checkout (e.g. Perforce,
ClearCase), others only have a system setting that determines it for
everyone every time (e.g. VSS).

[snip]



Re: ClearCase implementation

2005-11-14 Thread Wim Deblauwe
Hi,

3 questions:

1) what maven commando's can I try to test my implementation?

2) About the checkout command: In ClearCase, you are looking at
read-only files and you "check out" 1 file to edit that file. After
that you check your file in. This is not the same for SVN for instance,
where checkout means, get me all the files of a certain project. Am I
correct? How should I then implement checkout. What is it used for in
Maven/Continuum?

3) What are the *Consumer classes for in the ClearCase implementation?
Looking at the SVN implementation, they don't have that there. Also the
current ones are copy/paste. We can probably use the same class
everywhere instead?

regards,

Wim2005/11/12, Emmanuel Venisse <[EMAIL PROTECTED]>:
tag nale is a string defined by user. Each user can user its own naming convention.EmmanuelWim Deblauwe a écrit :> One other question on tags ( labels ). How is the tag name formed? We> have a naming convention at work here on how labels should be named.
>> regards,>> Wim>> 2005/11/12, Wim Deblauwe <[EMAIL PROTECTED]> [EMAIL PROTECTED]
>>:>>> ok.> What is the difference on cleartool usage for all clearcase> connection type?>>> Don't have a clue, I only know what we use, I'm not really a
> ClearCase guru :)>> regards,>> Wim>>


Re: ClearCase implementation

2005-11-14 Thread Emmanuel Venisse



Wim Deblauwe a écrit :

Hi,

3 questions:

1) what maven commando's can I try to test my implementation?


You can try mojos in maven-scm-plugin.



2) About the checkout command: In ClearCase, you are looking at 
read-only files and you "check out" 1 file to edit that file. After that 
you check your file in. This is not the same for SVN for instance, where 
checkout means, get me all the files of a certain project. Am I correct? 
How should I then implement checkout. What is it used for in 
Maven/Continuum?


yes, a checkout command get all files. We need this feature for Maven and continuum for 
obtaining all files and build a project.
For Clearcase implementation, you can get all files in read-only mode (if it's a clearcase 
standard) and eventually add an optional parameter in checkout command for editing a file 
(Is it an equivalent to a lock command?).




3) What are the *Consumer classes for in the ClearCase implementation? 
Looking at the SVN implementation, they don't have that there. Also the 
current ones are copy/paste. We can probably use the same class 
everywhere instead?


In svn, we have consumer classes.
Consumer classes parse command output and put the result in object model. So we can parse 
the command result via api.
We can't use the same class for all provider because each provider have a different output 
(data, format...)


Emmanuel


regards,

Wim

2005/11/12, Emmanuel Venisse <[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]>>:


tag nale is a string defined by user. Each user can user its own
naming convention.

Emmanuel

Wim Deblauwe a écrit :
 > One other question on tags ( labels ). How is the tag name formed? We
 > have a naming convention at work here on how labels should be named.
 >
 > regards,
 >
 > Wim
 >
 > 2005/11/12, Wim Deblauwe <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
 > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:
 >
 >
 > ok.
 > What is the difference on cleartool usage for all clearcase
 > connection type?
 >
 >
 > Don't have a clue, I only know what we use, I'm not really a
 > ClearCase guru :)
 >
 > regards,
 >
 > Wim
 >
 >






Re: Re: ClearCase implementation

2005-11-11 Thread Emmanuel Venisse



Wim Deblauwe a écrit :

What should I try to implement first?


I think update command should be the first. I don't know if clearcase have this mechanism 
or if it's only a checkout, but our update command run too a changelog for obtain all 
update info. You can look at cvs or svn providers for sample.




I see that checkout and changelog is implemented. Should I try:

- adding a new file (add method, but which one?)


protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet 
fileSet, String message, boolean binary )

throws ScmException



- tag ( also 2 methods) -> I suppose this is a label in clearcase


yes, it's a label


- checkin (also 2 methods, and they even have different case!)


protected abstract CheckInScmResult executeCheckInCommand( ScmProviderRepository 
repository, ScmFileSet fileSet, String message, String tag )

throws ScmException;


I'm not sure you need to override default implementation of other method. But in case of 
clearcase, perhaps yes, because I suppose you need to obtain some parameter on connection 
type or other.


You need to implement too the remove command.

If you implement all this methods, clearcase will be supported too in maven2 release 
component too.



Emanuel



regards,

Wim

2005/11/11, Wim Deblauwe <[EMAIL PROTECTED] 
>:


Hey,

found the pom.xml, it was right where it should be :)

At work, we are using base UCM with dynamic views (not snapshot
views). I'm currently at home, so I can't test anything yet. But I
will first try to get to know the code. I does not seem to hard at
first glance.

I know that luntbuild has support for ClearCase. Have you guys ever
looked into that code

(http://fisheye.cenqua.com/viewrep/luntbuild/luntbuild/src/com/luntsys/luntbuild/vcs/BaseClearcaseAdaptor.java

)?

regards,

Wim

2005/11/11, Emmanuel Venisse <[EMAIL PROTECTED]
>:



Wim Deblauwe a écrit :

 Hi,

 I just checkout everything from the scm plugin (using

IntelliJ, I'll see

 if I need tortoiseSVN). Before I change anything, I want to

try to build

 the things I will change, normally

maven-scm-provider-clearcase. How do

 I build? I suppose I need Maven 2 to build, but I can't seem

to find a

 pom.xml.


mvn clean install in maven-scm-providers/maven-provider-clearcase

pom.xml is in this directory, look at

http://svn.apache.org/viewcvs.cgi/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/

What is your clearcase connection type?

Emmanuel







Re: ClearCase implementation

2005-11-11 Thread Wim Deblauwe
What should I try to implement first?

I see that checkout and changelog is implemented. Should I try: 

- adding a new file (add method, but which one?)
- tag ( also 2 methods) -> I suppose this is a label in clearcase
- checkin (also 2 methods, and they even have different case!)

regards,

Wim2005/11/11, Wim Deblauwe <[EMAIL PROTECTED]>:
Hey,

found the pom.xml, it was right where it should be :)

At work, we are using base UCM with dynamic views (not snapshot views).
I'm currently at home, so I can't test anything yet. But I will first
try to get to know the code. I does not seem to hard at first glance.

I know that luntbuild has support for ClearCase. Have you guys ever
looked into that code
(http://fisheye.cenqua.com/viewrep/luntbuild/luntbuild/src/com/luntsys/luntbuild/vcs/BaseClearcaseAdaptor.java
)?

regards,

Wim2005/11/11, Emmanuel Venisse <[EMAIL PROTECTED]>:

Wim Deblauwe a écrit :> Hi,>> I just checkout everything from the scm plugin (using IntelliJ, I'll see> if I need tortoiseSVN). Before I change anything, I want to try to build> the things I will change, normally maven-scm-provider-clearcase. How do
> I build? I suppose I need Maven 2 to build, but I can't seem to find a> pom.xml.mvn clean install in maven-scm-providers/maven-provider-clearcasepom.xml is in this directory, look at

http://svn.apache.org/viewcvs.cgi/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/What is your clearcase connection type?Emmanuel