LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

subversion repositories clarification question

I'm currently looking at Subversion. I previously used VSS (let's keep the "ughs" to a minimum), but quickly realized how horrible it was. I've since been simply using Beyond Compare to keep track of versions of code. It's worked OK for me (I'm the only one in my company that writes code), but I'd like to see about Subversion. Here's where I've got a quick clarification question regarding Subversion and multiple repositories. From everything I have read (and have tried using VisualSVN Server), it seems that while you can have multiple repositories, all the repositories have to be in the same directory. The svnserve has a --r switch, but you can only specify one root. It seems as if this is true with a number of other SCC systems (though it is not true for VSS). Did I misunderstand this?

 

Now you may ask: why is this a concern? Well, it has to do with trying to minimize impact on our file directory structure. Our server has an "Engr\Programs" directory where we have separate folder for each project, and a project will have subdirectories such as "Correspondence", "Mechanical", "Software", "Test Data", etc. The "Software" directory has subdirectories for holding all software, including test software, which is what I write up (and is in a "Test Software" subdirectory, incidentally). With the one repo root I basically have to rethink how to organize the "stuff". Right now it seems as if the only way to do it is to have the repo directory act as the development ground and have the "Test Software" directory contain only the latest version of the code. Now that I think about this, this does have a secondary complication when archiving projects. Hmmm...

0 Kudos
Message 1 of 6
(3,235 Views)
I've seen a lot of discussion on LAVA re:Subversion.  You'll get a faster answer there, although I guess it's forgivable for this forum to leave a question unanswered on Saturday...
Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

0 Kudos
Message 2 of 6
(3,214 Views)

You need to differentiate between the repositories and the actual code. The repository is the management part that sits on the server and holds all the versions. It generates a single file for each revision and all changes to all the files are saved in that file. Each repository gets a folder inside the main SVN folder.

 

SVN

|_Repository 1

  |_internal SVN management folders

|_Repository 2

  |_internal SVN management folders

|_Repository 3

  |_internal SVN management folders

 

This should not interest you, as you don't need to touch this. This should only be used for backing up the history etc. The actual current code sits on your hard drive, not on the server.

 

Here we have a single repository for our entire Projects folder. It means that everything is jumbled together, but if you only do commits on a single project each time, then you don't run into issues, because when you perform subsequent actions, you can always perform them only on the specific file or folder you care about. Having a single repo means we don't have to manage update scripts, etc. and means that everyone has all the projects, all the time. This works for us, but might not work for you.

 

Does this help?

 

P.S. I don't know the answer to original question, but if you use Apache, I wouldn't be surprised if you can run multiple SVN servers and give each its own port and SVN root folder. I'm not sure if your network admin would like that as much, though. 😉

 

Also, you might wish to try looking through the SVN book. It's quite detailed and might cover this.


___________________
Try to take over the world!
0 Kudos
Message 3 of 6
(3,199 Views)

Thanks for the follow-up, tst. I had read through the SVN book as well as a few other sources via Google, and I do understand the relationship between repositories and projects as well as the pros/cons of having a single repository vs having multiple repositories. What wasn't clear was whether or not it was possible to have multiple roots, since based on the documentation that I read, all repositories are in a single root (i.e., single folder on the server). This is really more of trying to fit the organization into what we already have on our server. Like I said, we have individual project folders, and we like to keep all project material in the same folder. With subversion I can't really do that since all repositories (if you go with multiple repositories) have to be located in a central folder. I'm not saying this is a bad or good thing. I'm just trying to make sure I understand this, and then decide whether or not it's an issue for us. That, of course, would need to be weighed against the vast advantage of having a source code control system. 

 

The idea of running multiple Apache servers is an interesting one, though it's not likely one that I would pursue since I don't want to start managing multiple servers. Of course, since I'm the network admin at work, I can always tell myself what to like or not like. Smiley Very Happy

0 Kudos
Message 4 of 6
(3,190 Views)

The best place to search\ask is probably the Subversion site. It's easier to get an answer here, since people know who you are, but I assume they're friendly over there too. 🙂

 

P.S. I obviously meant several instances running on the same server.


___________________
Try to take over the world!
0 Kudos
Message 5 of 6
(3,176 Views)

tst wrote:

P.S. I obviously meant several instances running on the same server.


Oh, yeah, I understood what you meant. I was also referring to running multiple Apache servers on the same server. Gotta love that English language. Smiley Wink

 

Thanks for the info.

0 Kudos
Message 6 of 6
(3,168 Views)