Episode: 98 Title: HPR0098: Subversion Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0098/hpr0098.mp3 Transcribed: 2025-10-07 11:27:30 --- Music Hello and welcome to Hacker Public Radio. This is the Miro Vinci coming to you today to discuss the software subversion. Now subversion is a software system that was designed to replace CVS and basically what both of these applications did was to allow for a better and easier management of files such as documentation files such as code and in other applications, other different types of files and managed these files through a series of versioning. Now simply as the way I comprehend versioning is that whenever an individual checks out a file from the database, it is or it was assigned a particular version number and then as that file gets modified, uploaded back to the database and committed to the database, then it takes on a new version or a new version number is then created for that file. Now what this allows individuals to do is as multiple people are working on the same file. Although they've checked out a version of the file which basically gives them their own local copy for them to work on, as they commit the file back to the database, each or one person's changes do not necessarily override and void the changes made by the other individual who check out the same file. Now instead, as a file has changed, depending on which parts are changed, the modifications are just committed but there are other circumstances for if they were modifying, you know, say the same block of code and their changes overwrite each other. It definitely gets into a lot of the little nuances with subversion and how the versioning system works and how you can manage a versioning system which at the moment is definitely beyond me and is more than what I necessarily need. The whole purpose for me creating the subversion server is because I know it's I know of a few administrators who have their own local subversion server running within their network and they will use the subversion server to keep up with their scripts that they write and configurations, configuration files for the different servers and for the different, you know, softwares and applications and things like that and that they run on a daily basis or, you know, or whenever they need to. In this way, as the as the job progresses and as new files or as changes need to be made, then they can keep keep a track of, you know, what changes were made and how they were made and can compare ultimately, you know, the different versions of the software are different versions of their configuration throughout its use cycle and throughout its use. So I've decided to set my own subversion server up to try and keep track of some of the scripts that I'm currently writing, whether they're for my job or for my own personal leisure is ultimately just a great and handy tool. Setting up the subversion server proved actually to be a little bit difficult for me simply because a lot of the websites out there that cover for building a subversion server were difficult to understand, difficult to interpret or in a lot of cases were just missing necessary steps. Depending on your on your distribution that you're running, you can either just connect to a repository and install the latest version of subversion or you can go to subversions website and download the latest source code compile it yourself and build it and then make it which is ultimately what I did. And you know, and once you do all these things, there's again, there's a handful of different websites out there that explain, you know, how to how to set through this process. But once you create all these websites, you know, you create a local folder that you're that all of your subversion things are going to all your subversion databases and all their necessary files are going to reside, you know, you have to make some modifications to Apache or to the Apache Configure file. Once you've finished installing subversion, next you need to actually create a subversion database using the SVN admin that is included with subversion. Now, with this command, you can create a new again, create a new subversion, I guess database is probably it probably has a better word as well as specify the database type whether you want that to be the Berkeley Berkeley database or or the other. And probably the most important step that is missing in a lot of these by these document documents is that you actually need to start the subversion server before you before you try and import, you know, files into into subversion. Now, yes, I understand that it sounds silly and it sounds stupid as in Merrill, Vengeee, Dell, you've got to start subversion before you before you can add files. But that wasn't really made clear to me in some of the different files that we needed. So, so for your own personal knowledge, you need to start subversion before you start to do the SVN import and and things like that. And you start subversion by the SVN SERVE command, which is Sam Victor, November, Sam Echo, Rain Victor Echo. I don't know what R is. I'm sorry. But once you start that that process and you can use the dash D command, dash Delta command to put it in Daemon mode. Once the subversion server is up and running, you can then go through and use the SVN command to interact with the subversion server and that's Sam Victor, November. You can with this command you can check out files from your subversion server, you can check in files, you can diff the files, you know, which is the obviously look at the differences in them, as well as several other options for managing your your subversion server. There's definitely a lot more functionality to subversion and to the different subversion commands. Definitely things I did not cover in this podcast simply because at this point I don't know those different commands and those different functionalities to subversion, but of course like anything over time will definitely come to me and hopefully maybe some of you guys out there are more familiar with building a subversion server and running subversion that you know you might be able to offer any tips and tricks and anything like that. Thank you for listening to this episode of Hacker Public Radio. This is the Merrill Vinji. If you have any comments, questions, concerns or angry outbursts, you can find me at MerrillVinji at gmail.com or you can usually find me in the pound in Phenomenon IRC channel on the free node.net server. Oh and by the way I remember that R is Roger. Enjoy. Thank you for listening to Hacker Public Radio. HPR is sponsored by tarot.net so head on over to C-A-R-O dot-N-T for all of those of you.