GNU bug report logs - #10054
[cp] 8.13: cp -au may replace newer files [sr #107876]

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: coreutils; Reported by: Linda Walsh <coreutils@HIDDEN>; dated Tue, 15 Nov 2011 19:08:01 UTC; Maintainer for coreutils is bug-coreutils@HIDDEN.
Changed bug title to '[cp] 8.13: cp -au may replace newer files [sr #107876]' from '[sr #107876] ISSUE: (Unverifyed Bug in 8.13).' Request was from era eriksson <era@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 10054 <at> debbugs.gnu.org:


Received: (at 10054) by debbugs.gnu.org; 15 Nov 2011 22:55:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 15 17:55:33 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RQRub-0005IZ-Hj
	for submit <at> debbugs.gnu.org; Tue, 15 Nov 2011 17:55:33 -0500
Received: from mx1.redhat.com ([209.132.183.28])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <P@HIDDEN>) id 1RQRuV-0005IO-Oz
	for 10054 <at> debbugs.gnu.org; Tue, 15 Nov 2011 17:55:28 -0500
Received: from int-mx09.intmail.prod.int.phx2.redhat.com
	(int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22])
	by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pAFMsfuG021538
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Tue, 15 Nov 2011 17:54:41 -0500
Received: from [10.36.116.24] (ovpn-116-24.ams2.redhat.com [10.36.116.24])
	by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP
	id pAFMsdhX019100
	(version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO);
	Tue, 15 Nov 2011 17:54:40 -0500
Message-ID: <4EC2EDAE.8020105@HIDDEN>
Date: Tue, 15 Nov 2011 22:54:38 +0000
From: =?UTF-8?B?UMOhZHJhaWcgQnJhZHk=?= <P@HIDDEN>
User-Agent: Mozilla/5.0 (X11; Linux x86_64;
	rv:6.0) Gecko/20110816 Thunderbird/6.0
MIME-Version: 1.0
To: Linda Walsh <coreutils@HIDDEN>
Subject: Re: bug#10054: [sr #107876] ISSUE: (Unverifyed Bug in 8.13).
References: <4EC2B82D.5080407@HIDDEN>
In-Reply-To: <4EC2B82D.5080407@HIDDEN>
X-Enigmail-Version: 1.3.2
Content-Type: text/plain; charset=UTF-8
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id
	pAFMsfuG021538
X-Spam-Score: -10.5 (----------)
X-Debbugs-Envelope-To: 10054
Cc: 10054 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -10.5 (----------)

On 11/15/2011 07:06 PM, Linda Walsh wrote:
>=20
>=20
> Seems like 'cc' didn't work...
>=20
>=20
>=20
> -------- Original Message --------
> Subject:     [sr #107876] ISSUE: (Unverifyed Bug in 8.13).
> Date:     Tue, 15 Nov 2011 18:28:13 +0000
> From:     Linda A. Walsh <INVALID.NOREPLY@HIDDEN>
> To:     Linda A. Walsh <gnu@HIDDEN>
>=20
>=20
>=20
> URL:
>  <http://savannah.gnu.org/support/?107876>
>=20
>                 Summary: ISSUE: (Unverifyed Bug in 8.13).
>                 Project: GNU Core Utilities
>            Submitted by: law
>            Submitted on: Tue Nov 15 10:28:11 2011
>                Category: None
>                Priority: 5 - Normal
>                Severity: 3 - Normal
>                  Status: None
>                 Privacy: Public
>             Assigned to: None
>        Originator Email:             Open/Closed: Open
>         Discussion Lock: Any
>        Operating System: None
>=20
>    _______________________________________________________
>=20
> Details:
>=20
> it appears from the change log, that a bug was introduced in 8.13.
>=20
> The Comment was:
>=20
> cp -au (where --preserve=3Dlinks is implicit) may now replace newer
> files in the destination, to mirror hard links from the source.

We thought this was the lesser of two evils.
It would be better to avoid the above behavior of course.

> =3D=3D=3D=3D
>=20
> However, in copying the files on the target, if the files are NOT linke=
d in the destination, then
> it would seem we have the case where we start with
> src:
> a <=3D> b
>=20
> dest
>=20
> a (dup of a src), b (newer file than src) ; broken links;
>=20
>=20
>=20
> ----
>=20
> Then correct action (if it behaves this way, fine, but it doesn't sound=
 like
> it)...
>=20
> if -u flag is used, we only update newer file items...
>=20
> so, after a cp -au, the above condition would remain
> exactly the same.

agreed

> Unless, if 'a' was updated (and thus, 'b' is also "updated to be newer =
than
> target "b"), then
> src-b would overwrite dst-b

right, that case is ok at present

> if a updated, but has time < dst 'b', then 'b'
> 'a' should not create an older, linked version of 'b', in place of a ne=
wer 'b'
> on the destination.

agreed, but implementation is tricky.
I hadn't the time to see if this was possible,
and I've now less time.
Tests are in place though to check changes in this area.

> if 'b' on the src is updated (thus 'a' is updated as well by being link=
ed),
> and 'b' is newer than dst-b), then
> the linked relationship would be copied to the dst (both
> a+b copied and linked).

right, that case is ok at present

> But the key here is that an updated 'a' linked to 'b' on src,
> shoudln't overwrite, recreate a link to b on dst IF dst-b is NEWER than=
 the
> 'b' that would be created.

Yep, this is the awkward case.

> i.e. while -a says to preserve links, in the presense of -u, one would =
expect
> the newest copies to remain on the dst, as forcing a link in *all* case=
s, would break the semantics of "-u".
>=20
> i.e. use of -u should override -a-'s keep links...(warning/verbose or m=
aybe
> some 'message on exception'...

Maybe someone could have a look.
I saw nothing obvious to address the issue.
The original discussion was at:
http://bugs.gnu.org/8419

cheers,
P=C3=A1draig.




Information forwarded to bug-coreutils@HIDDEN:
bug#10054; Package coreutils. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 15 Nov 2011 19:07:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 15 14:07:38 2011
Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1RQOM2-0008Th-DQ
	for submit <at> debbugs.gnu.org; Tue, 15 Nov 2011 14:07:38 -0500
Received: from eggs.gnu.org ([140.186.70.92])
	by debbugs.gnu.org with esmtp (Exim 4.69)
	(envelope-from <coreutils@HIDDEN>) id 1RQOLx-0008TQ-EM
	for submit <at> debbugs.gnu.org; Tue, 15 Nov 2011 14:07:33 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <coreutils@HIDDEN>) id 1RQOL9-00085e-5g
	for submit <at> debbugs.gnu.org; Tue, 15 Nov 2011 14:06:43 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,HS_INDEX_PARAM,
	RP_MATCHES_RCVD autolearn=unavailable version=3.3.1
Received: from lists.gnu.org ([140.186.70.17]:54668)
	by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <coreutils@HIDDEN>) id 1RQOL9-00085a-1s
	for submit <at> debbugs.gnu.org; Tue, 15 Nov 2011 14:06:39 -0500
Received: from eggs.gnu.org ([140.186.70.92]:34868)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <coreutils@HIDDEN>) id 1RQOL4-00011s-OI
	for bug-coreutils@HIDDEN; Tue, 15 Nov 2011 14:06:39 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <coreutils@HIDDEN>) id 1RQOL0-000846-4g
	for bug-coreutils@HIDDEN; Tue, 15 Nov 2011 14:06:34 -0500
Received: from ishtar.tlinx.org ([173.164.175.65]:49228
	helo=Ishtar.sc.tlinx.org) by eggs.gnu.org with esmtp (Exim 4.71)
	(envelope-from <coreutils@HIDDEN>) id 1RQOKy-00082M-Cu
	for bug-coreutils@HIDDEN; Tue, 15 Nov 2011 14:06:30 -0500
Received: from [192.168.3.140] (Athenae [192.168.3.140])
	by Ishtar.sc.tlinx.org (8.14.4/8.14.4/SuSE Linux 0.8) with ESMTP id
	pAFJ6Lnx023909
	for <bug-coreutils@HIDDEN>; Tue, 15 Nov 2011 11:06:23 -0800
Message-ID: <4EC2B82D.5080407@HIDDEN>
Date: Tue, 15 Nov 2011 11:06:21 -0800
From: Linda Walsh <coreutils@HIDDEN>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US;
	rv:1.8.1.24) Gecko/20100228 Lightning/0.9 Thunderbird/2.0.0.24
	Mnenhy/0.7.6.666
MIME-Version: 1.0
To: bug-coreutils@HIDDEN
Subject: [sr #107876] ISSUE: (Unverifyed Bug in 8.13).
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
	recognized.
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3)
X-Received-From: 140.186.70.17
X-Spam-Score: -5.2 (-----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
	<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Sender: debbugs-submit-bounces <at> debbugs.gnu.org
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
X-Spam-Score: -5.3 (-----)



Seems like 'cc' didn't work...



-------- Original Message --------
Subject: 	[sr #107876] ISSUE: (Unverifyed Bug in 8.13).
Date: 	Tue, 15 Nov 2011 18:28:13 +0000
From: 	Linda A. Walsh <INVALID.NOREPLY@HIDDEN>
To: 	Linda A. Walsh <gnu@HIDDEN>



URL:
  <http://savannah.gnu.org/support/?107876>

                 Summary: ISSUE: (Unverifyed Bug in 8.13).
                 Project: GNU Core Utilities
            Submitted by: law
            Submitted on: Tue Nov 15 10:28:11 2011
                Category: None
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: None

    _______________________________________________________

Details:

it appears from the change log, that a bug was introduced in 8.13.

The Comment was:

cp -au (where --preserve=links is implicit) may now replace newer
files in the destination, to mirror hard links from the source.


====

However, in copying the files on the target, 
if the files are NOT linked in the destination, then
it would seem we have the case where we start with 

src:
a <=> b

dest

a (dup of a src), b (newer file than src) ; broken links;



----

Then correct action (if it behaves this way, fine, but it doesn't sound like
it)...

if -u flag is used, we only update newer file items...

so, after a cp -au, the above condition would remain
exactly the same.

Unless, if 'a' was updated (and thus, 'b' is also "updated to be newer than
target "b"), then
src-b would overwrite dst-b
if a updated, but has time < dst 'b', then 'b'
'a' should not create an older, linked version of 'b', in place of a newer 'b'
on the destination.

if 'b' on the src is updated (thus 'a' is updated as well by being linked),
and 'b' is newer than dst-b), then
the linked relationship would be copied to the dst (both
a+b copied and linked).


But the key here is that an updated 'a' linked to 'b' on src,
shoudln't overwrite, recreate a link to b on dst IF dst-b is NEWER than the
'b' that would be created.

i.e. while -a says to preserve links, in the presense of -u, one would expect
the newest copies to remain on the dst, as 
forcing a link in *all* cases, would break the semantics of "-u".

i.e. use of -u should override -a-'s keep links...(warning/verbose or maybe
some 'message on exception'...


     
                    




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/support/?107876>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/






Acknowledgement sent to Linda Walsh <coreutils@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-coreutils@HIDDEN. Full text available.
Report forwarded to bug-coreutils@HIDDEN:
bug#10054; Package coreutils. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 31 Oct 2014 17:00:04 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.