On Mon, May 31, 2021 at 04:18:46PM +0200, Ævar Arnfjörð Bjarmason wrote: > > On Wed, Jul 26 2017, Michael Haggerty wrote: > > > [...] > > +test_expect_success 'pack symlinked packed-refs' ' > > + # First make sure that symlinking works when reading: > > + git update-ref refs/heads/loosy refs/heads/master && > > + git for-each-ref >all-refs-before && > > + mv .git/packed-refs .git/my-deviant-packed-refs && > > + ln -s my-deviant-packed-refs .git/packed-refs && > > + git for-each-ref >all-refs-linked && > > + test_cmp all-refs-before all-refs-linked && > > + git pack-refs --all --prune && > > + git for-each-ref >all-refs-packed && > > + test_cmp all-refs-before all-refs-packed && > > + test -h .git/packed-refs && > > + test "$(readlink .git/packed-refs)" = "my-deviant-packed-refs" > > +' > > FWIW this broke tests on AIX because we can't assume readlink(1) exists > at all. See d2addc3b96 (t7800: readlink may not be available, > 2016-05-31) for a workaround. Hmm. So obviously we can use a fix similar to the one in t7800 (though it's sufficiently complicated that I'd be tempted to wrap it in a helper function). There are a few other calls that could be changed, too. But it's interesting to me that it sounds like the tests have been broken on AIX for 4 years, and nobody noticed. I assume you ran into this on the gcc build-farm machines. Our traditional approach for portability has been: if somebody is using the platform and cares enough to submit patches, then we'll support it. But testing on the build-farm means preemptively finding these problems, whether anyone actually cares about AIX or not. :) I'm not really arguing either way here, just thinking out loud. Preemptively finding portability problems may save work in the long term. And people may even be using Git on AIX and just ignoring test failures, or they have GNU coreutils installed anyway, etc. But it would also save work if we can ignore platforms that nobody uses. -Peff