Re: [PATCH 0/4] deterministic commit timestamps in tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 14, 2020 at 08:31:42AM -0400, Jeff King wrote:

> We _could_ fix this by sorting before removing duplicates, but
> presumably it's a useful part of the test to make sure the trees appear
> in the same order in both spots. Likewise, we could use something like:
> 
>   perl -ne 'print unless $seen{$_}++'
> 
> to remove duplicates without impacting the order. But that doesn't work
> either, because there are actually multiple (non-duplicate) commits with
> the same trees (we change a file mode and then change it back). So we'd
> actually have to de-duplicate the combination of subject and tree. Which
> then further throws off t9100.18, which compares the tree hashes
> exactly; we'd have to strip the result back down.

Actually, that last one isn't _too_ bad. It looks something like this:

diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh
index b80952f0ac..4502c5f97d 100755
--- a/t/t9100-git-svn-basic.sh
+++ b/t/t9100-git-svn-basic.sh
@@ -204,8 +204,10 @@ GIT_SVN_ID=alt
 export GIT_SVN_ID
 test_expect_success "$name" \
     'git svn init "$svnrepo" && git svn fetch &&
-     git rev-list --pretty=raw remotes/git-svn | grep ^tree | uniq > a &&
-     git rev-list --pretty=raw remotes/alt | grep ^tree | uniq > b &&
+     git log --format="tree %T %s" remotes/git-svn |
+	perl -lne "print unless \$seen{\$_}++" |
+	cut -d" " -f1-2 >a &&
+     git log --format="tree %T" remotes/alt >b &&
      test_cmp a b'
 
 name='check imported tree checksums expected tree checksums'

It does lose a little bit of information, which is that in the original
we confirmed that the duplicates were always next to each other. But I'm
not sure that's important. We'd get confused if the same subject
appeared twice, but all of the commits have distinct hard-coded
subjects in the earlier tests.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux