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

Re: auto props / locking

From: Nico Kadel-Garcia <nkadel_at_comcast.net>
Date: 2006-04-29 18:50:44 CEST

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?

> 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?

> 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.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Apr 29 18:51:45 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.