P. 1


|Views: 3|Likes:
Published by olivaresroza

More info:

Published by: olivaresroza on Jun 02, 2010
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





The Subversion client spends most of its time managing working copies. When it needs information from a remote repository,
however, it makes a network request, and the server responds with an appropriate answer. The details of the network protocol are
hidden from the user—the client attempts to access a URL, and depending on the URL scheme, a particular protocol is used to con-
tact the server (see the sidebar Repository URLs).

Run svn --version to see which URL schemes and protocols the client knows how to use.

When the server process receives a client request, it often demands that the client identify itself. It issues an authentication chal-
lenge to the client, and the client responds by providing credentials back to the server. Once authentication is complete, the server
responds with the original information that the client asked for. Notice that this system is different from systems such as CVS,
where the client preemptively offers credentials (“logs in”) to the server before ever making a request. In Subversion, the server
“pulls” credentials by challenging the client at the appropriate moment, rather than the client “pushing” them. This makes certain
operations more elegant. For example, if a server is configured to allow anyone in the world to read a repository, the server will
never issue an authentication challenge when a client attempts to svn checkout.

If the particular network requests issued by the client result in a new revision being created in the repository (e.g., svn commit),
Subversion uses the authenticated username associated with those requests as the author of the revision. That is, the authenticated
user's name is stored as the value of the svn:author property on the new revision (see the section called “Subversion Proper-
ties”). If the client was not authenticated (i.e., if the server never issued an authentication challenge), the revision's svn:author
property is empty.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->