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

Exclusive Checkout/Edit for Binaries

From: <pkahn_at_connected.com>
Date: 2004-08-16 19:49:41 CEST

I noticed that the offline qualities of subversion (which are very nice)
make exclusive checkout or exclusive-edit rather difficult/impossible. My
problem is that my documentation group work primarily with binary files
(Frame, word etc) and they aren't too keen on after 4 hours of work
discovering that they must merge a binary file (which is a manual endeavor
which, in the majority of cases, involves human detection of changes).
 
Subversion and its distant relation CVS both seem to operate in this
fashion. So, someone must have solved this problem. Do any of you know of
the solution because I haven't been able to locate one?
 
The only schemes I could come up with are all a bit kludgy:
 
1. Replicate-From-Difference-SCM:
Move the Doc folks to some other source control system and setup a system of
change detection and migration from that to svn.
            a. Doc person uses VSS, performs the exclusive checkout,
modifies submits
            b. The VSS watcher detects the change,
updates a local svn work space with the most recent copy of the file
gets the VSS copies it over the SVN version
gets the VSS check-in comments and uses them to submit the file to svn
 
2. Pseudo Exclusive check-outs:
Create a script that allows a use to checkout a file (open a file for edit)
and really updates a lock file within my repository or a property upon the
file in question.
 
            To be honest with you, it doesn't sound all that crazy to do,
but my doc folk like to use
            RapidSVN and TortoiseSVN so I might be looking at adding
features to those that I may
            be stuck maintaining if the rest of the community doesn't see
the need for the feature.
 
I would imagine the feature might look something like this:
The client has a special exclusive mode. In this mode, the client will
synchronize source via update and checkout as locked files.
 
If the user invokes the 'edit' command, the opened-for-edit property is
checked, if it is false the client unlocks the file and modifies
opened-for-edit and opened-by properties.
 
If opened-for-edit is true, the client reads opened-by and displays that the
file cannot be edited because it is exclusively opened by [opened-by]
 
Upon submission the opened-for-edit is set to false and opened-by is
cleared.
 
 
If you have any other cleaver idea or if you know of any places I could go
look for solutions, I'd love to read about them...
 
Thanks
 
 

--
Peter Kahn
pkahn@connected.com
 
Received on Mon Aug 16 19:51:08 2004

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