confusing example in the SVN book
C. Michael Pilato
cmpilato at red-bean.com
Thu Sep 4 00:06:40 CDT 2008
r3290, but with usernames 'harry' and 'harryssh' to make the distinction
more obvious. Thanks, Vincent!
Vincent Lefevre wrote:
> On 2008-08-25 11:22:24 -0500, Ben Collins-Sussman wrote:
>> Care to send a patch to the svnbook@ list?
>
> Attached.
>
>> On Mon, Aug 25, 2008 at 9:41 AM, Vincent Lefevre <vincent+svn at vinc17.org> wrote:
>>> In the current SVN book (nightly):
>>>
>>> It's easy to use SSH in conjunction with svnserve. The client simply
>>> uses the svn+ssh:// URL scheme to connect:
>>>
>>> $ whoami
>>> harry
>>>
>>> $ svn list svn+ssh://host.example.com/repos/project
>>> harry at host.example.com's password: *****
>>>
>>> foo
>>> bar
>>> baz
>>> …
>>>
>>> In this example, the Subversion client is invoking a local ssh
>>> process, connecting to host.example.com, authenticating as the user
>>> harry, then spawning a private svnserve process on the remote
>>> machine running as the user harry. The svnserve command is being
>>> invoked in tunnel mode (-t), and its network protocol is being
>>> "tunneled" over the encrypted connection by ssh, the tunnel agent.
>>> svnserve is aware that it's running as the user harry, and if the
>>> client performs a commit, the authenticated username will be used
>>> as the author of the new revision.
>>>
>>> But the book doesn't say which "harry" (the client's or the server's)
>>> is taken into account as the author of the new revision; "authenticated
>>> username" suggests that it's the server's and this is also said a bit
>>> later in the book (though not all users may read that part), but this
>>> doesn't appear clearly in the example (and the word "aware" above may
>>> be confusing since it could mean that the client gave some information,
>>> which is not the case). You should probably give an example with two
>>> different user names on the client and on the server. This could be:
>>>
>>> $ whoami
>>> harryc
>>>
>>> $ svn list svn+ssh://host.example.com/repos/project
>>> harrys at host.example.com's password: *****
>>>
>>> foo
>>> bar
>>> baz
>>> …
>>>
>>> In this example, the Subversion client is invoking a local ssh
>>> process, connecting to host.example.com, authenticating as the user
>>> harrys (according to SSH user configuration), then spawning a private
>>> svnserve process on the remote machine running as the user harrys.
>>> The svnserve command is being invoked in tunnel mode (-t), and its
>>> network protocol is being "tunneled" over the encrypted connection
>>> by ssh, the tunnel agent. If the client performs a commit, the
>>> authenticated username harrys will be used as the author of the new
>>> revision.
>>>
>>> This makes clear that the user name on the *server* side is taken
>>> into account as the author of the new revision.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> svnbook-dev mailing list
> svnbook-dev at red-bean.com
> http://www.red-bean.com/mailman/listinfo/svnbook-dev
--
C. Michael Pilato <cmpilato at red-bean.com> | http://cmpilato.blogspot.com/
"The Christian ideal has not been tried and found wanting. It has
been found difficult; and left untried." -- G. K. Chesterton
More information about the svnbook-dev
mailing list