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

Difference between svn and tsvn when committing svn:externals

From: si <sshnug.si_at_gmail.com>
Date: Tue, 14 Oct 2008 13:43:15 +1130

Greetings,

Just stumbled across a difference between svn and tsvn when committing
svn:externals. Tested using svn 1.5.2 and tsvn 1.5.3.

Due to source code growth we've been restructuring our repository so
it looks like:

/trunk/project1
/trunk/project2
/trunk/framework
/trunk/tools

Each project uses svn:externals to reference the relevant tools it
needs, for example svn:externals on /trunk/project1/tools could look
like:

^/trunk/tools/framework framework
^/trunk/tools/log4net log4net
^/trunk/tools/nunit nunit

So all this is working great, each project only pulls down the
appropriate tool (and if necessary revision) it needs, but we can
still keep a common location for all our tools.

The problem is that when our build server releases a new copy of our
framework, we copy the output into the svn:externals directory, and
when I try to commit using svn no files are committed, but if I commit
using tsvn it works! I'm trying both at the same location - at the
root of the project directory working copy.

The workflow is:

/trunk/framework/bin/Release/framework.dll is copied to
/trunk/framework/tools/framework which is an svn:externals referencing
^/trunk/tools/framework

If I execute svn stat from /trunk/framework working copy, it shows the
svn:external directory as having the modified framework.dll; but it
won't commit the changes. I have tried svn ci --depth=infinity, but
that doesn't change the outcome. The only way I can get svn command
line to commit is if I cd into /framework/tools/framework and an svn
commit from there works. So this is different from the way tsvn
handles it.

My feeling is that tsvn is doing the correct thing, and this is a bug
in svn - if my working copy references an svn:externals which is
modified, then a commit on that working copy should commit the
svn:externals. I would like svn and tsvn to be consistent, they should
both behave in the same way, but currently they're inconsistent.

Thoughts?

cheers
si

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: users-help_at_tortoisesvn.tigris.org
Received on 2008-10-14 04:13:24 CEST

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