Justin Bogner <address@hidden> writes:
However, for the other case, we need traverse upwards until we don't
find the directory, returning the last one that does.
Why? CVS or SVN do not do this either. Subdirectories with .svn in
them are self-contained work directories with associated repository
location.
As far as getting rid of invert, we could do that, and the function
would then return something more reasonable than it does now, but it
wouldn't actually find the root unless you happened to try the root
first.
There is no dedicated root in CVS or SVN. You never need to look at
.. in order to do local operations. You can move your directory out to
a different location under a different "root" and things will work just
the same from there.
Which is pretty much the principal reason for every directory having its
own CVS or .svn subdirectories.