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

auto props / locking

From: rob anderson <bins--_at_ntlworld.com>
Date: 2006-04-29 00:26:21 CEST

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

We _do_ want needs lock on our data files, but not on our source files.

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.

Of course needs-lock should also infer read-only, but not vice-versa.

If anybody has any ideas on how to solve these problems, or if anybody is
even doing remotely the same kind of thing I would appreciate
your suggestions and input.

Thanks
            Rob Anderson

 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Apr 29 17:41:06 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.