11.07.2015 Views

Version Control with Subversion - Login

Version Control with Subversion - Login

Version Control with Subversion - Login

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Server Configurationharry = CN=Harold Hacker,OU=Engineers,DC=red-bean,DC=comsally = CN=Sally Swatterbug,OU=Engineers,DC=red-bean,DC=comjoe = CN=Gerald I. Joseph,OU=Engineers,DC=red-bean,DC=com…Once you've defined a set of aliases, you can refer to the users elsewhere in the accessfile via their aliases in all the same places you could have instead used their actual usernames.Simply prepend an ampersand to the alias to distinguish it from a regular username:[groups]calc-developers = &harry, &sally, &joepaint-developers = &frank, &sally, &janeeveryone = @calc-developers, @paint-developersYou might also choose to use aliases if your users' usernames change frequently. Doingso allows you to need to update only the aliases table when these username changes occur,instead of doing global-search-and-replace operations on the whole access file.Partial Readability and CheckoutsIf you're using Apache as your <strong>Subversion</strong> server and have made certain subdirectoriesof your repository unreadable to certain users, you need to be aware of a possiblenonoptimal behavior <strong>with</strong> svn checkout.When the client requests a checkout or update over HTTP, it makes a single serverrequest and receives a single (often large) server response. When the server receivesthe request, that is the only opportunity Apache has to demand user authentication.This has some odd side effects. For example, if a certain subdirectory of the repositoryis readable only by user Sally, and user Harry checks out a parent directory,his client will respond to the initial authentication challenge as Harry. As the servergenerates the large response, there's no way it can resend an authentication challengewhen it reaches the special subdirectory; thus the subdirectory is skipped altogether,rather than asking the user to reauthenticate as Sally at the right moment. Ina similar way, if the root of the repository is anonymously world-readable, the entirecheckout will be done <strong>with</strong>out authentication—again, skipping the unreadable directory,rather than asking for authentication partway through.Supporting Multiple Repository Access MethodsYou've seen how a repository can be accessed in many different ways. But is it possible—orsafe—for your repository to be accessed by multiple methods simultaneously?The answer is yes, provided you use a bit of foresight.At any given time, these processes may require read and write access to your repository:• Regular system users using a <strong>Subversion</strong> client (as themselves) to access the repositorydirectly via file:// URLs• Regular system users connecting to SSH-spawned private svnserve processes (runningas themselves), which access the repository• An svnserve process—either a daemon or one launched by inetd—running as a particularfixed user189

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

Saved successfully!

Ooh no, something went wrong!