[Eugene V. Lyubimkin]
> Reproducing:
> 
> $ svn co https://only.mawhrin.net/repos/stuff fbreader --depth=immediates
> 
> This command added only 'trunk', 'branches', 'tags' directories, but
> have eaten at least several megabytes of network traffic.

This is a limitation of the network protocol.  Quoting from
/usr/share/doc/subversion/svn_1.5_releasenotes.html:

| The new --depth feature naturally requires the client to be 1.5+, and
| will work most efficiently if the server is also 1.5+.  However, the
| client will still behave correctly if the server is 1.4.x or lower;
| things will just be less efficient.
| 
| This is because older servers do not understand -- and therefore
| ignore -- what the client tells them about "depth".  So when a client
| requests a depth shallower than depth-infinity, older servers will
| send back more data than the client wants.  However, a 1.5+ client
| will know it's talking to an older server and filter out this extra
| data.  Thus, operations may take a while, because the server sends a
| lot of data over the network that the client then ignores, but the
| final result on the client side will be the same.  (Note that older
| servers understand a recurse flag in the network protocols, and 1.5+
| clients send that flag based on the depth; this alleviates some of
| the extra network traffic penalty.)

The following workaround exists.  Note that -N is a flag that existed
in previous versions of svn, and now is (mostly) a synonym for
--depth=files:

  $ svn co -N https://only.mawhrin.net/repos/stuff fbreader
  $ cd fbreader
  $ svn up -N trunk tags branches

(I note that when I tried the above, it did not check out branches,
because of access control on the server - branches is protected against
the anonymous user.  It had already successfully gotten other stuff as
the anonymous user, so it skipped asking for a username/password.)

Hope this helps,
-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/

Attachment: signature.asc
Description: Digital signature

Reply via email to