[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tue, 17 Oct 2000 17:51:12 +0200 (METDST)
>Originator: Paul Lieverse
>Synopsis: safe_location() called for remote repositories; might give
>problems if local path 'hangs'.
>Category: cvs <= 1.11
System: SunOS cobalt 5.6 Generic_105181-11 sun4u sparc SUNW,Ultra-4, but also
Linux and probably others
If a checkout is done from a remote repository (e.g. with the :ext: method,
or :pserver: method, but probably also with :kserver: method), a *local*
check is done on the path of the repository (safe_location()).
If the call to readlink() on this path gives problems, e.g. if it contains
some badly configured automounted path with a large timeout (which is the
case I ran into), the checkout will hang until the readlink() call times
out. The safe_location() check is IMHO not necessary for remote repositories,
unless the remote host is localhost.
For the real problematic behavior you'll need a badly configured
automounter or so. But to see the effect you can try the following.
* Have some local automounted directory, say /mnt
* Make sure that the automounters writes some log entries on mounts or
* do a cvs -d :ext:email@example.com:/mnt/nonexistingpath co test
To see the effect, remote.host does not even have to exits.
* Check your log files. On my Linux machine it shows:
Oct 17 17:46:54 host automount: attempting to mount entry
Oct 17 17:46:54 host automount: lookup(file): lookup for
Workaround: remove the readlink() call from safe_location(). This works
Real fix: add some test before calling safe_location to see whether
the repository is remote or not. (test on cvs_method?)
|[Prev in Thread]
||[Next in Thread]|