How to use Apache Subversion...?

This forum is for all Flare issues related to using Source Control.
Post Reply
rkiskan
Propeller Head
Posts: 30
Joined: Fri Feb 03, 2006 4:56 am
Location: Denmark

How to use Apache Subversion...?

Post by rkiskan »

Can someone please give me a brief rundown on what I need to do to use use Apache Subversion as version control with Flare.
Looking at the Apache and related sites there is a lot of detail, but nothing is clear. My questions are:

1. Do I need to install an Apache server? If so, what MS Windows OS do I need for this?
2. I must install Apache Subversion - this requires the Apache APR (Portable Runtime Project) - correct?
3. Is the APR a separate installation package from the Apache Subversion installation package?
4. The APR requires MS Windows 2003 or 2008 server as OS. Correct?
5. I can then install a Subversion client like Tortoise SVN - this can use Win. 7?
6. So all in all this means I can only run Apache Subversion if it is server-based and not as an entire client-side system?

Assistance will be appreciated.

Robin
RamonS
Senior Propellus Maximus
Posts: 4293
Joined: Thu Feb 02, 2006 9:29 am
Location: The Electric City

Re: How to use Apache Subversion...?

Post by RamonS »

rkiskan wrote:Can someone please give me a brief rundown on what I need to do to use use Apache Subversion as version control with Flare.
Looking at the Apache and related sites there is a lot of detail, but nothing is clear. My questions are:
Haven't looked at the final docs for Flare 7. The docs were not included during beta test, but I managed to get something working.
rkiskan wrote:1. Do I need to install an Apache server? If so, what MS Windows OS do I need for this?
Not necessarily, there are ways without it, but you won't have Subversion access using HTTP(S).
I didn't bother with it by using a binary package that contained everything I needed. The Subversion site has a list of Windows binary packages. The list of packages available is located here: http://subversion.apache.org/packages.html , Windows is listed way at the bottom, but theoretically you can run SVN on any of the other OS and use it with Flare. The SVN protocol as well as the HTTP(S) protocol are OS independent.
I chose VisualSVN, because it seemed to be the easiest to use of the packages offered. Creating a new repository for Flare to use was very easy.
rkiskan wrote:2. I must install Apache Subversion - this requires the Apache APR (Portable Runtime Project) - correct?
Possible, but as mentioned before, download one of the packaged versions that have a nice graphical frontend. The disadvantage is that it will keep you rather SVN agnostic, but the goal here is to make use of a tool in the quickest and easiest way possible while keeping the benefits (mainly, it works and it doesn't cost as much as all the other Flare supported source control systems).
rkiskan wrote:3. Is the APR a separate installation package from the Apache Subversion installation package?
No idea, again, using one of the ready to go packages that are maintained by groups outside of the Apache organisation makes your life easier.
rkiskan wrote:4. The APR requires MS Windows 2003 or 2008 server as OS. Correct?
Again, not sure, but going by any other Apache projects, they install on almost anything that can be called a computer and work the same on all of them (with very few exceptions). That is the beauty of well-done open source software. That said, I installed the VisualSVN package straight onto Windows 7 64 bit, which makes me believe that you do not have to use a Windows server OS to get SVN to run.
rkiskan wrote:5. I can then install a Subversion client like Tortoise SVN - this can use Win. 7?
Yes. Tortoise is a popular front end, but it is only that. Unlike VisualSVN you have to figure out on how to install the SVN server yourself. I postponed dealing with that when I have some serious Flare project lined up. For now this TW stuff is 'only' a hobby for me.
rkiskan wrote:6. So all in all this means I can only run Apache Subversion if it is server-based and not as an entire client-side system?
Autoplagiarism on: I installed VisualSVN and did not even get to the point where I had to ask these questions. Or better to say, I downloaded VisualSVN Server, which is the free offering. There is also a for pay offering that includes a plugin client for Microsoft VisualStudio. You do not need that, because Flare is your client.
rkiskan wrote:Assistance will be appreciated.
OK, here is what I did:
1. Download VisualSVN Server from here: http://www.visualsvn.com/server/download/
2. Start the installer on any Windows version of XP or higher
3. During installation I left most things at default, but chose a different Repositories folder. You want to pick a folder that gets backed up regularly or is at least on a different physical hard drive on your local PC. I opted to chose the SVN authentication, but Windows authentication should work as well.
4. At the end of the install opt to have the Server Manager get started.
5. Add a new user and password (or more than one)
6. Add a new repository, you do not need the default project structure. Make sure to note the path to the repository. It should be https://<ComputerName>/svn/<RepositoryNamey>
7. Add the new user(s) to the repository
8. Start Flare
9. Open the project that you want to bind to SVN
10. In the project properties bind the project to Subversion. It will take a while until the user name and password dialog appears, enter the user name and password in there.
11. Select the project folder, it is OK to pick the root folder
12. After some waiting the Bind Project dialog appears, click OK there. Flare will now proceed and bind the project to Subversion. That will take a while

Now you are in business and the Flare project should be accessible to anyone that can reach the box running SVN via HTTPS. The performance of Flare with SVN using HTTPS is less than stellar. It works, but I think it ought to be much faster. I am not sure if Flare of SVN is the slow poke here (my guess is that it is not Flare). Once bound checking in/out individual topics still has some lag to it, but we are talking about a few seconds for a small to mid-size topic.

Using the (less secure) SVN protocol is also possible by following these instructions from here:
http://www.farmcode.org/post/2010/09/20 ... tocol.aspx

And then modify the VisualSVN install a bit following these instructions that I recieved from MadCap support:
1. Go to your VIsualSVN repository folder on disk (c:\Repositories by default)
2. A repository folder will exist for each repository you setup in VisualSVN (We will use ‘Flare’ as the repository name)
3. In the conf\ folder, open up the ‘passwd’ file in notepad.
4. Under the [users] section, add a user and password (simon / simon). Save and exit.
5. Open up the svnserve.conf file in notepad
6. Remove the ‘#’ in front of ‘anon-access = read’ and ‘auth-access = write’
7. Remove the ‘#’ in front of password-db = passwd. Save and exit
8. Now reattempt to bind a project in Flare using the SVN:// protocol. You should be prompted for a user/password. Use what you provided above (simon/simon)
9. Everything should connect without error. Using TortoiseSVN, outside of Flare, will also confirm correct behavior

I confirmed that this works and performance got better. Support also noted that performance using VisualSVN isn't as good as it could/should be. Better performance requires using the bare bones SVN server, for which Windows binaries exist that come as MSI installers (yuck!) and include whatever you need (as far as I can tell by reading the docs). You'd find the most likely to use binary packages here: http://alagazam.net/
I did find a few tutorials online that should make things easier, but I haven't confirmed that it is indeed as described. Here are some that look decent, but Google and of course the SVN project site are good starting points as well.
http://www.codinghorror.com/blog/2008/0 ... ndows.html
http://svn.spears.at/

Lastly, I hope this is all is of help to you. Happy SVNing!

David
rkiskan
Propeller Head
Posts: 30
Joined: Fri Feb 03, 2006 4:56 am
Location: Denmark

Re: How to use Apache Subversion...?

Post by rkiskan »

Thanks for the very comprehensive reply David. I will give it a try.
Robin
Post Reply