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

Re: puzzled about branching

From: Ulrich Eckhardt <ulrich.eckhardt_at_dominolaser.com>
Date: Fri, 16 Sep 2011 11:05:23 +0200

On Friday 16 September 2011, you wrote:
> I have created a branch of my project on the server, and have run an update
> on my client. I was under the impression that branching created a “cheap
> copy”, but the update appears to be downloading a copy of everything,
> giving me two identical versions of the project, and I can go in and look
> at the branch without having to switch to it from /trunk.

Branching and tagging are just conventions, so what you did is to copy
something somewhere else. If you check out the parent folder of the target
location or if you update an existing checkout, of course you get the newly-
added content.

The cheap copying happens in the repository, where a new revision is created
that references data that already exists in the repository, so if you copy
things around the repository doesn't increase in size.

> Is this what is supposed to happen?

Yes.

> I thought I would not be able to see anything in the branch unless I
> switched to it, and that I’d only have one copy of each project file
> unless I changed it.

You already checked out the branches folder, so you implicitly said that you
want to have a working copy for every branch.

> I only WANT one copy of any identical files on my system – I thought
> switching would give me that, rather than doing a check-out of the
> branch, but it seems an update is giving me all of it a second time
> anyway.

In that case, don't check out the branches folder but only one working copy of
the code you're working on (typically that would be trunk).

> My project structure looks something like this (art and audio folders
> contain what’s needed for the entire project – only the development folder
> has the different versions):
> /project
> /art
> /audio
> /development
> /trunk
> /branches
> /lite (this is what I just copied from /trunk)
> /tags

I'm afraid you are hurting yourself with this. The three folders
trunk/tags/branches are organizational so you can create branches and tags off
your development. If your artwork never ever changes, then there is no use for
storing it in subversion anyway. However, if there is a remote chance of it
changing the slightest bit, you also want the same trunk/tags/branches
structure.

I would consider two approaches:
1. The artwork and code become one unit. That means that the art and audio
folders are moved into the trunk folder, alongside with the code therein. You
can branch and tag them as one unit.

2. You treat artwork and code as separate projects. That means that the code
in trunk is moved into a trunk/code subfolder and the art and audio folders
are moved into a trunk/artwork subfolder. The branches/lite subfolder then
becomes branches/code-lite or maybe branches/code/lite. The code and artwork
are then versioned independently.

My personal gut feeling is that the code and artwork are not really separable.
Therefore, you don't gain anything from separating them, except that you can
avoid multiple local working copies of the big artwork folder when working
with different working copies of the code. Unless this size overhead is really
overwhelming, I would bit that bullet though, as anything else requires
manually keeping things in sync and matching, and that might be the bigger
problem.

BTW: This has nothing to do specifically with TSVN, this is a general
Subversion topic.

Good luck!

Uli

-- 
ML: http://tortoisesvn.tigris.org/list_etiquette.html
FAQ: http://tortoisesvn.net/faq
**************************************************************************************
Domino Laser GmbH, Fangdieckstra�e 75a, 22547 Hamburg, Deutschland
Gesch�ftsf�hrer: Thorsten F�cking, Amtsgericht Hamburg HR B62 932
**************************************************************************************
Visit our website at http://www.dominolaser.com
**************************************************************************************
Diese E-Mail einschlie�lich s�mtlicher Anh�nge ist nur f�r den Adressaten bestimmt und kann vertrauliche Informationen enthalten. Bitte benachrichtigen Sie den Absender umgehend, falls Sie nicht der beabsichtigte Empf�nger sein sollten. Die E-Mail ist in diesem Fall zu l�schen und darf weder gelesen, weitergeleitet, ver�ffentlicht oder anderweitig benutzt werden.
E-Mails k�nnen durch Dritte gelesen werden und Viren sowie nichtautorisierte �nderungen enthalten. Domino Laser GmbH ist f�r diese Folgen nicht verantwortlich.
**************************************************************************************
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2839889
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-09-16 10:52:30 CEST

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