Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jan 2022 18:03:06 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 235438] cp -R command not working properly
Message-ID:  <bug-235438-227-d02Eps1gXr@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-235438-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-235438-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235438

--- Comment #2 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3D848263aad129c8f9de75b58a5ab9a0106=
11b75ac

commit 848263aad129c8f9de75b58a5ab9a010611b75ac
Author:     Kyle Evans <kevans@FreeBSD.org>
AuthorDate: 2022-01-27 18:02:17 +0000
Commit:     Kyle Evans <kevans@FreeBSD.org>
CommitDate: 2022-01-27 18:02:17 +0000

    cp: fix some cases with infinite recursion

    As noted in the PR, cp -R has some surprising behavior.  Typically, when
    you `cp -R foo bar` where both foo and bar exist, foo is cleanly copied
    to foo/bar.  When you `cp -R foo foo` (where foo clearly exists), cp(1)
    goes a little off the rails as it creates foo/foo, then discovers that
    and creates foo/foo/foo, so on and so forth, until it eventually fails.

    POSIX doesn't seem to disallow this behavior, but it isn't very useful.
    GNU cp(1) will detect the recursion and squash it, but emit a message in
    the process that it has done so.

    This change seemingly follows the GNU behavior, but it currently doesn't
    warn about the situation -- the author feels that the final product is
    about what one might expect from doing this and thus, doesn't need a
    warning.  The author doesn't feel strongly about this.

    PR:             235438
    Reviewed by:    bapt
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D33944

 bin/cp/cp.c             | 75 +++++++++++++++++++++++++++++++++++++++++++--=
--
 bin/cp/tests/cp_test.sh | 77 +++++++++++++++++++++++++++++++++++++++++++++=
++++
 2 files changed, 147 insertions(+), 5 deletions(-)

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235438-227-d02Eps1gXr>