[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Fwd: Max Path Length Headache

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2005-02-18 19:53:30 CET

Branko Čibej <brane@xbc.nu> writes:

> C. Michael Pilato wrote:
>
> >The Subversion libraries use relative paths.
> >
> Actually, the svn command-line client does, not the libraries
> themselves.

Sure they do. If I provide a working copy path to the Subversion
libraries, they calculate paths (such as where the ".svn" directory
for that wc-path is, and the stuff under that ".svn" path, etc.) as
relative to whatever input they were given.

> The problem with switching to absolute paths in the client is that
> you'd get absolute paths in the output, too. We could avoid that in
> most places, but that would entail a significant amount of work.

The only significant challenge that I know of is dealing with error
message strings. Because there's no way to pick out a path from the
text of an error message, you'd have no hope of using path/string
manipulations on those things to "pretty up" the output. All other
output from the libraries comes via callback mechanisms and returned
values, all of which either trickle up to the client binary (where
they can be morphed into beauty) or head back down into the libraries
again (where beauty doesn't matter, and absoluteness is desired).

Another (ugly) alternatively, though, is for the libraries to sanity
check the length of their relative paths, and, if approaching a known
danger zone, chdir() into (and back out of) the long path's parent
directory.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Feb 18 19:58:33 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.