[p4] P4 Submit

Stephen Vance steve at vance.com
Thu Sep 13 21:25:33 PDT 2001


Wow!  I lose touch with e-mail for a day, and a full-scale flame war erupts!

I must say, Paul, that your concept of a technically correct but 
transparent to use CM system is intriguing.  Although it's not a reason to 
stop wishing for it or pursuing it, I am not aware of any mainstream CM 
system that takes this approach, although there are ways to accomplish 
something like it with most.

I'll put in my two cents worth only with some comments that haven't been 
brought up yet.

First, and I mean this informatively not condemningly, is that although 
this may be your group's typical usage pattern, it is not the typical usage 
pattern of most organizations I have seen that have adopted a serious CM 
system, as you have.  Most organizations that adopt a CM system are trying 
to come up with a more precise control of the access to their code through 
all stages of the process.  Some would perceive the approach you want to 
take as chaos up to the point of submission.  This may account for some of 
the rancor in the thread.

The other comments are more pragmatic than pedantic.

I would not recommend checking out large blocks of files.  The next 
paragraph will give you an alternative.  Here's why.  Everyone checks out 
lots of files, whole trees worth.  A)  Your have lists and therefore have 
database will be huge.  Now consider the first person to check in 
files.  The chance that someone else has that file checked out, possibly 
for no good reason, is near 100%.  Therefore, everyone else will have to 
either perform a resolve on their next sync or revert and sync.  You've now 
taken the absolutely most common operation (syncing) and made it more 
difficult so you can make the second (editing) or third (submitting) most 
common operations purportedly easier.

Now for a proposal.  Set all of your clients "allwrite."  There was just a 
post that asked about automatic client modification, although the 
clientspec idea is better.  Create a wrapper script that implements Tech 
Note #2 in a manner that is reasonably intelligent and friendly for adds 
(e.g. ignores some files like object files and prompts the user on the rest 
with the default as "add all").  You also have the rename issue that Tech 
Note #2 doesn't solve well, but that's probably not the normal case.

Another proposal that may or may not work for you.  If you are on Windows 
and your environment allows, have your developers operate typically in 
P4Win.  Drag and drop check out and double-click viewing and editing are 
pretty simple and precise, and the Revert Unchanged is very accessible.  If 
Unix, try tkp4 (a new version was just announced).  Rick has put a lot of 
effort into making it as usable or more so than P4Win.  If Visual Studio or 
CodeWarrior, use the SCC or P4CW integrations.  Automatic checkout on edit 
with most user commands easily accessible is quite powerful.

Steve

At 11:11 AM 9/13/2001 -0700, Paul Cody wrote:
>Perhaps, but this seems like an exceptional case.  I would wish for typical
>usage patterns to be the default rather than vice-versa.
>
>Paul

Stephen Vance
mailto:steve at vance.com
http://www.vance.com/




More information about the perforce-user mailing list