GNU bug report logs -
#50694
ls and cpio's idea of "six months ago" are slightly different
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 6 Feb 2022 18:53:34 -0800
with message-id <02556449-8595-c669-7d6d-1c510d0899b6 <at> cs.ucla.edu>
and subject line Re: bug#50694: ls and cpio's idea of "six months ago" are slightly different
has caused the debbugs.gnu.org bug report #50694,
regarding ls and cpio's idea of "six months ago" are slightly different
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
50694: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50694
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
What a headache.
"Six months ago" means slightly different things to cpio and ls.
And ls documents do say exactly what,
and cpio documents don't even say six months.
$ cat prover
set -eu
cd /tmp
for i in `seq 170 190`
do
touch -d "$i days ago" x
{
env - ls -l x|tr -s ' '
ls x|cpio -o 2>&-|cpio -tv 2>&-|tr -s ' '
} > z
if test `sort -u z|wc -l` != 1
then cat z; echo
fi
done
$ sh prover
-rw-r--r-- 1 jidanni jidanni 0 Mar 23 12:47 x
-rw-r--r-- 1 jidanni jidanni 0 Mar 23 2021 x
-rw-r--r-- 1 jidanni jidanni 0 Mar 22 12:47 x
-rw-r--r-- 1 jidanni jidanni 0 Mar 22 2021 x
So two things that should look the same ... don't.
What's worse is there is no option to change cpio's date format.
Well then just change ls's date format to match cpio's right?
Well yes, but then there is no way to change ls's idea of six months,
even if we examined cpio's source code to find out what it uses.
$ ls --version
ls (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
$ cpio --version
cpio (GNU cpio) 2.13
Copyright (C) 2017 Free Software Foundation, Inc.
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
On 9/19/21 22:06 in <https://bugs.gnu.org/50694>, 積丹尼 Dan Jacobson wrote:
> What a headache.
> "Six months ago" means slightly different things to cpio and ls.
> And ls documents do say exactly what,
> and cpio documents don't even say six months.
Thanks for the bug report. Since the behavior is documented for ls but
not cpio and lots more people use ls, let's change cpio to behave like
ls. Proposed patches to cpio attached. The last patch does the actual
change; the earlier ones are issues I noticed on the way.
(Sergey, I don't have commit privileges for cpio on Savannah. If you
give me privileges I can install these patches; otherwise, please take a
look and install if you like. Thanks.)
In the meantime I'll close the coreutils bug report, as I don't think we
need to change GNU 'ls'.
[0001-Remove-trailing-white-space-and-empty-lines.patch (text/x-patch, attachment)]
[0002-build-update-submodules-to-latest.patch (text/x-patch, attachment)]
[0003-Fix-integer-overflows-in-timestamp-output.patch (text/x-patch, attachment)]
[0004-Use-GNU-ls-algorithm-for-deciding-timestamp-format.patch (text/x-patch, attachment)]
This bug report was last modified 3 years and 160 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.