11.07.2015 Views

Version Control with Subversion - Login

Version Control with Subversion - Login

Version Control with Subversion - Login

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Repository AdministrationformatA file that contains a single integer that indicates the version number of the repositorylayouthooksA directory full of hook script templates (and hook scripts themselves, once you've installedsome)locksA directory for <strong>Subversion</strong>'s repository lock files, used for tracking accessors to the repositoryREADME.txtA file whose contents merely inform its readers that they are looking at a <strong>Subversion</strong>repositoryOf course, when accessed via the <strong>Subversion</strong> libraries, this otherwise unremarkable collectionof files and directories suddenly becomes an implementation of a virtual, versionedfilesystem, complete <strong>with</strong> customizable event triggers. This filesystem has its own notionsof directories and files, very similar to the notions of such things held by real filesystems(such as NTFS, FAT32, ext3, etc.). But this is a special filesystem—it hangs these directoriesand files from revisions, keeping all the changes you've ever made to them safelystored and forever accessible. This is where the entirety of your versioned data lives.Strategies for Repository DeploymentDue largely to the simplicity of the overall design of the <strong>Subversion</strong> repository and the technologieson which it relies, creating and configuring a repository are fairly straightforwardtasks. There are a few preliminary decisions you'll want to make, but the actual work involvedin any given setup of a <strong>Subversion</strong> repository is pretty basic, tending toward mindlessrepetition if you find yourself setting up multiples of these things.Some things you'll want to consider beforehand, though, are:• What data do you expect to live in your repository (or repositories), and how will thatdata be organized?• Where will your repository live, and how will it be accessed?• What types of access control and repository event reporting do you need?• Which of the available types of data store do you want to use?In this section, we'll try to help you answer those questions.Planning Your Repository OrganizationWhile <strong>Subversion</strong> allows you to move around versioned files and directories <strong>with</strong>out anyloss of information, and even provides ways of moving whole sets of versioned history fromone repository to another, doing so can greatly disrupt the workflow of those who accessthe repository often and come to expect things to be at certain locations. So before creatinga new repository, try to peer into the future a bit; plan ahead before placing your dataunder version control. By conscientiously “laying out” your repository or repositories andtheir versioned contents ahead of time, you can prevent many future headaches.Let's assume that as repository administrator, you will be responsible for supporting theversion control system for several projects. Your first decision is whether to use a single repositoryfor multiple projects, or to give each project its own repository, or some comprom-122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!