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

Newbie Qs about organizing repository and getting checkouts to go where I want them

From: Chris Chiesa <chrischiesa1_at_gmail.com>
Date: Wed, 14 Mar 2012 08:11:48 -0700 (PDT)

This is kind of long. Please forgive me; I am trying to get up and going and don't have a lot of time.

Trying to figure out usage patterns for SVN for my Windows app and DLL projects.

Backstory:
---------
   Historically, I have a directory containing all the source files for a single version of a single project, PLUS the specific versions of the specific .lib and .dll files that project needs at build / run (test) time, PLUS the test data.

   Having tried a few times to read the SVN book, and not been able to get far, here is my understanding of how to use SVN:

     - put the project source files into a particular subdirectory of a repository (1, below). At first into 'trunk,' but with the option to 'branch' different variants of the project (2, 3) at any time.

     - "Updating" a file replaces its earlier version, in the sense that if I check out the "HEAD" revision of the entire directory I get the latest version of every file. I can also check out earlier versions of of each file by specifying the version I want -- or can "tag" a collection of versions at a given time (e.g. when I build a "release" of my app or DLL) and check out that whole collection all at once at a future time.

   (1) The first time I've done this, I had to use "Add File" for each individual file. That was tedious. Is there a way to add a whole set of files at once? "Add Folder" creates a subfolder in the repository, which I don't think is what I want (see structure below). Am I organizing the repository inappropriately? I assume source files should be directly in 'trunk,' not a subfolder thereof. It's not clear how I would update/branch a subfolder of 'trunk.'
  
   (2) Do I have to branch each individual file, or do/can I branch the whole 'trunk' at once?

   (3) Can I "go back" and branch from a version of a file "earlier than the HEAD?" Can I branch from a previously "tagged" set of (versions of) files?

Current Situation:
-----------------

My repository structure looks like this:

    (repository)
       Products
          DLLs
             Lib1
                branches
                tags
                trunk
                   libmodule1.cpp
                   libmodule1.h
                   ...
             Lib2
                ...(same)...
          Apps
             AppOne
                Data
                GUI
                   branches
                   tags
                   trunk
                      module1.cpp
                      module1.h
                      module2.cpp
                      module2.h
                      ...
                Libraries
                   Lib1.dll
                   Lib1.lib
                ...
             AppTwo
                ... (same) ...
                Libraries
                   Lib2.dll
                   Lib2.lib
       etc.

I am having a little trouble getting Tortoise SVN to do what I want, but maybe what I want goes against the principles of SVN.

Basically, I want to check out the source files from Apps/AppOne/GUI/trunk, and the .dll and .lib from Apps/AppOne/Libraries, into the SAME working directory. Tortoise lets me check out the source files, of course, but when I then go to check out the .dll and .lib it tells me the destination (or any subfolder thereof) "is already a working directory for a different URL." (This, AFTER asking me if I wanted to cancel, for that very reason, or continue; why offer "continue" if it's not going to be permitted anyway?) Is there a way to do this? How do I get the .dll and .lib into the source directory at build time?

I'm not really comfortable putting .dll and .lib files into SVN in the first place -- technically they're the OUTPUTS of a build (from a different place in the repository) -- but since they are INPUTS to the compile-and-link process I'm bending my rules a little bit.

Checking out the entire AppOne tree checks out 'branches', 'tags', and 'trunk' directories, with the source files inside 'trunk,' of course. That's not what I want either.

Is there a way to do this?

Thanks in advance.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=2935627

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-03-14 17:28:06 CET

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

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