3 ms·
Right.. and the actual BSD stuff is frozen in time as well: $ strings `which cp`|grep src $FreeBSD: src/bin/cp/utils.c,v 1.46 2005/09/05 04:36:08 csjp Exp
by justinsaccount 11y ago
Right.. and the actual BSD stuff is frozen in time as well:
$ strings `which cp`|grep src
$FreeBSD: src/bin/cp/utils.c,v 1.46 2005/09/05 04:36:08 csjp Exp $
$FreeBSD: src/bin/cp/cp.c,v 1.52 2005/09/05 04:36:08 csjp Exp $
$ strings `which ls`|grep src
$FreeBSD: src/bin/ls/cmp.c,v 1.12 2002/06/30 05:13:54 obrien Exp $
$FreeBSD: src/bin/ls/ls.c,v 1.66 2002/09/21 01:28:36 wollman Exp $
$FreeBSD: src/bin/ls/print.c,v 1.57 2002/08/29 14:29:09 keramida Exp $
$FreeBSD: src/bin/ls/util.c,v 1.38 2005/06/03 11:05:58 dd Exp $
https://svnweb.freebsd.org/base/head/bin/cp/cp.c?view=log https://svnweb.freebsd.org/base/head/bin/cp/cp.c?view=log and https://svnweb.freebsd.org/base/head/bin/ls/ls.c?view=log https://svnweb.freebsd.org/base/head/bin/ls/ls.c?view=log
show various fixes and new features added since then.
$ strings /bin/* /sbin/* /usr/bin/* /usr/sbin/*|grep ,v
paints a pretty dismal picture.
One interesting way to look at this. The first commit from freebsd for ls.c is:
Added Thu May 26 06:18:55 1994 UTC (21 years, 2 months ago) by rgrimes
Original Path: vendor/CSRG/dist/bin/ls/ls.c
File length: 13099 byte(s)
BSD 4.4 Lite bin Sources
The last commit apple has is:
Modified Fri Jun 3 11:05:58 2005 UTC (10 years, 2 months ago) by dd
So apples version is almost closer in time to the original 4.4 sources as to the current version.
- bakul 11y agostring `which ls`|grep src shows cvs strings. FreeBSD switched over to svn a long time ago and cvs id strings are not updated anymore. But svn log ls.c on the head branch shows the last change was on 20-July-2015. In any case, why keep fiddling with the source code if the program does what it is intended to do?
- justinsaccount 11y agoHere's a good example. Came up just the other day. $ du -hs big.log;time cat big.log > /dev/null 199M big.log real 0m0.045s user 0m0.002s sys 0m0.043s $ time gtr a b < big.log > /dev/null real 0m0.334s user 0m0.182s sys 0m0.142s $ time tr a b < big.log > /dev/null real 0m33.105s user 0m31.757s sys 0m0.488s $ I don't have a freebsd machine around to see if it's just apples tr that is broken. I'm sure it's related to unicode bullshit, but the usual env var tricks don't seem to help.