[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Re: svn up --paranoid [was "Disabling automatic conflict resolution" ]

From: Walter Nicholls <walter.nicholls_at_cornerstone.co.nz>
Date: 2003-08-18 23:47:27 CEST

>> That is, why is it important that
>> she know which lines of code she changed were the same lines of code
>> that someone else changed in the same way? Had she run 'svn up'
>> before starting her change, she wouldn't have changed those lines at
>> all.

Huh?

Developer A runs svn up, and starts modifying shared.c
Developer B runs svn up, and then starts modifying shared.c
Developer A runs svn commit, thus checking in shared.c
Developer B now has conflicting changes

It's all very well saying that 'proper communication would prevent this
from happening in the first place', but that's an ideal scenario.
SourceSafe may be a heap of *** and it stinketh, but at least the locks
system means we *know* when we're modifying a file someone else has
checked out. And VSS does allow multiple checkouts and merges them back
again just fine (text files only of course).

The way things go, I am tempted to write a utility equivalent to
SourceSafe's checkin and checkout system, which creates a flag property
to simulate a lock.

ie mysvn get - wraps svn co and sets attribute of all files READ-ONLY
mysvn checkout - sets property checked-out-by='my-user-id', and makes
file read-write (and calls svn co/svn up to get fresh revision if
necessary)
mysvn checkin - svn commit + clear property checked-out-by

(Obviously this is a gross simplification but something like this.
Perhaps I should get together with the author of Subway, which will have
similar paradigm mismatches to deal with).

Or am I missing something? I know there is a religious war in here (RCS
locking vs CVS merging), but we do a lot of Visual Foxpro development,
and it makes heavy use of binary-format files. It is very important to
prevent multiple checkouts of a VCX (visual class library) file for
example and CVS/SVN provides no easy way to do this that I can see.

- Walter

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Aug 18 23:43:31 2003

This is an archived mail posted to the Subversion Users mailing list.