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: [email protected]
> 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]

Reply via email to