----- Original Message -----
From: "Nico Kadel-Garcia" <nkadel@comcast.net>
To: "rob anderson" <bins--@ntlworld.com>; <users@subversion.tigris.org>
Sent: Saturday, April 29, 2006 5:50 PM
Subject: Re: auto props / locking
> rob anderson wrote:
>> I have a number of questions regarding the use of subversion.
>>
>> We are a game developer and generate large quantities of binary data
>> (textures, 3ds max files, audio files etc.)
>> We have chosen Subversion to manage revisions of these and other
>> (game data) files.
>>
>> Now because these files are predominantly binary and non-mergeable we
>> apply the needs-lock property to the files
>> to prevent concurrent checkout. We enable auto-props in each user's
>> config file and add * needs-lock. This is so that
>> as artists add files they do not have to remember to add the
>> needs-lock property to each file.
>>
>> We can manually remove the needs-lock property on those files (i.e.
>> text files) which it's ok to merge, and so far this has served us
>> well.
>>
>> As part of our production pipeline we translate these files to a
>> format suitable for the platform on which a game runs,
>> eg conversion of tga files to dds files for a pc game. We would like
>> to be able to store these converted files in a repository
>> also, so that people can get the latest version of the built game
>> assets (without having to convert them). However users can
>> also build data locally to the same directory that they can also
>> checkout pre-built data to, so in this case we would like data
>> to be checked out neither needing lock or read-only.
>>
>> We currently use cvs for our source code revision control, and Visual
>> Studio for development, with PushOK's cvs plugin for
>> interfacing to a cvs server. We are now looking at moving over to
>> subversion for source control.
>>
>> Mixing subversion for both data and code poses certain problems.
>>
>> Visual Studio requires non-modified files to be read-only in order
>> for it's source control integration to work. The only way for this
>> to work with subversion is to use the needs-lock property. However
>> this is not what we want for source files - we want concurrent editing
>> of source files. (cvs has the concept of 'cvs-editing' a file which
>> doesn't exclusively lock it unless it's binary).
>
> Heh. Visual Studio is a bit of an adventure. But there is a Subversion
> plug-in for Visual Studio, called "AnkhSetup". Are you using that?
No we're not using anything yet, but we'll probably use PushOK's svn addin.
>
>> We _do_ want needs lock on our data files, but not on our source
>> files.
>
> Hmm. Have you considered putting something in the "pre-commit" or
> "post-commit" script for the repository in question? And using an
> "externals" structure for the data files, so that they get locked down and
> loaded from a source controlled subdirectory instead of in the top
> directory?
>
Could you explain how this would help please ? How does an external
repository help ?
>> What would be nice is the ability for the 'needs-lock' property to be
>> set on a per repository basis - in fact all auto-props (then there
>> would be no problems using subversion for source and data). I would
>> prefer
>> it to be server-side, but an extension to the client config file so
>> that each repository could have it's own section would also be ok as a
>> second-best option.
>>
>>
>> Or an inverted needs-lock property, so that by default everything has
>> a lock, except the listed file types ie
>> * needs-lock
>> *.cpp needs-lock=n
>> *.h needs-lock=n
>> *.txt needs-lock=n
>>
>> Or a read-only property
>> *.cpp read-only=y # etc.
>
> This really looks like a post-commit step.
How can a post-commit script help here ?
Thanks
Rob
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Apr 30 23:53:47 2006