Em Sex, 2007-10-19 C s 13:52 -0400, Douglas A. Tutty escreveu:
> On Fri, Oct 19, 2007 at 09:19:21AM -0400, Nick Guenther wrote:
> > On 10/19/07, Tom Van Looy <[EMAIL PROTECTED]> wrote:
> > > Richard Toohey wrote:
> > > > On 19/10/2007, at 8:12 PM, Raimo Niskanen wrote:
> > > >
> > > > Looks like OpenBSD, FreeBSD, and Mac OS X BSD bits have the same
> > > > sort of outcome.
> > > >
> > > > Copy foo to foo only once and quit, I think that's the correct
> > > > behaviour. I even think that posix more or less describes that.
> > > >
> > > > That's what it should be doing I guess. But it's tricky, if you start
> > > > doing symlinks etc, you'll end up looping sooner or later. What if
the
> > > > directoy's are not named the same (eg: hard links)?
> > > >
> > > correction: hard links are not allowed on directory's, ...
> > > that being said, comparing inodes seems the best solution
> > >
> > > only, don't give an error but copy once
> > > maybe if I have time this weekend I'll try code that behaviour
> > >
> > > Anyway, it has worked like that since years, and I guess nobody has had
> > > a problem with it before. I don't think it should be changed just
> > > because some bored guy playing with it noticed strange output ;-p
> >
> > Sure, but "bored guy" can translate to "new ideas" and testing
> > somehow-still-untested code paths. It's worth a shot at fixing.
>
> For what its worth, all I can offer is moral support since I don't code
> C.
>
> Conceptually, though, why can't cp look at the source directory and take a
> snapshot, a to-do-list, of everything it has to copy, then do it?  That
> way, any recursion would be completed before the target directory
> appeared in the source directory.  With only an -R (no -H -L or -P), it
> should copy links as links which should avoid loops.
>
> How do scp and rsync do it?
>
> Doug.
>

At linux 2.6.22 (Ubuntu 7.10)
$ mkdir foo
$ scp -r foo localhost:/home/spyro/foo/

foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/f
oo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/fo
o/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo
/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/
foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/f
oo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/fo
o/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo
/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/
foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/f
oo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/fo
o/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo
/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/
foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/f
oo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/foo/fo
o/foo/foo/foo/foo/foo: name too long

Using OpenSSH_4.6p1 Debian-5build1, OpenSSL 0.9.8e 23 Feb 2007

Reply via email to