[darcs-users] can we get rid of perl requirement in our test suite?
Trent W. Buck
trentbuck at gmail.com
Wed May 27 01:15:03 UTC 2009
Eric Kow <kowey at darcs.net> writes:
> Only one left!
>
> On Mon, May 25, 2009 at 12:05:21 +0300, Dan Pascu wrote:
>> > tests/optimize_relink.sh: echo 'use File::Basename; $res=0; while
>> > ($fn=<'$1'/*>) { $fn2="'$2'/" . basename($fn); @fd1=lstat($fn);
>> > @fd2=lstat($fn2); $res += ($fd1[1] != $fd2[1]);}; exit($res);' | perl
>
> In case any Perl hackers want to help us translate this to shell, or
> maybe Haskell if need be:
>
> # succeeds if there are hard links
> use File::Basename;
> $res=0;
> while ($fn=<'$1'/*>) {
> $fn2="'$2'/" . basename($fn);
> @fd1=lstat($fn);
> @fd2=lstat($fn2);
> $res += ($fd1[1] != $fd2[1]);
> };
> exit($res);
>
> Ideas? Surely something like ls -l should help us do what we want?
It is always wrong to use ls(1) output programmatically.
http://mywiki.wooledge.org/ParsingLs
If we're lucky, stat(1) is part of POSIX.
More information about the darcs-users
mailing list