Re: [PATCH 04/10] t1405: sort reflog entries in a hash-independent way
On Mon, Mar 26, 2018 at 03:18:20PM -0700, Junio C Hamano wrote: > "brian m. carlson" writes: > > > The test enumerates reflog entries in an arbitrary order and then sorts > > them. For SHA-1, this produces results that happen to sort in > > alphabetical order, but for other hash algorithms they sort differently. > > Ensure we sort the reflog entries in a hash-independent way by sorting > > on the ref name instead of the object ID. > > Makes sense. > > > Remove an assumption about the length of a hash by using cut with > > the delimiter and field options instead of the character range > > option. > > I thought you used your truncated blake hash to develop and verify > these changes, but I'd imagine that the "42" thing were hard to > spot. Yeah, I had to do those by hand, but it looks like I did miss one. I'll reroll with that change. -- brian m. carlson / brian with sandals: Houston, Texas, US https://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: https://keybase.io/bk2204 signature.asc Description: PGP signature
Re: [PATCH 04/10] t1405: sort reflog entries in a hash-independent way
"brian m. carlson" writes: > The test enumerates reflog entries in an arbitrary order and then sorts > them. For SHA-1, this produces results that happen to sort in > alphabetical order, but for other hash algorithms they sort differently. > Ensure we sort the reflog entries in a hash-independent way by sorting > on the ref name instead of the object ID. Makes sense. > Remove an assumption about the length of a hash by using cut with > the delimiter and field options instead of the character range > option. I thought you used your truncated blake hash to develop and verify these changes, but I'd imagine that the "42" thing were hard to spot. Thanks. > Signed-off-by: brian m. carlson > --- > t/t1405-main-ref-store.sh | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh > index e8115df5ba..a1e243a05c 100755 > --- a/t/t1405-main-ref-store.sh > +++ b/t/t1405-main-ref-store.sh > @@ -45,7 +45,7 @@ test_expect_success 'rename_refs(master, new-master)' ' > ' > > test_expect_success 'for_each_ref(refs/heads/)' ' > - $RUN for-each-ref refs/heads/ | cut -c 42- >actual && > + $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && > cat >expected <<-\EOF && > master 0x0 > new-master 0x0 > @@ -71,7 +71,7 @@ test_expect_success 'verify_ref(new-master)' ' > ' > > test_expect_success 'for_each_reflog()' ' > - $RUN for-each-reflog | sort | cut -c 42- >actual && > + $RUN for-each-reflog | sort -k2 | cut -c 42- >actual && > cat >expected <<-\EOF && > HEAD 0x1 > refs/heads/master 0x0
[PATCH 04/10] t1405: sort reflog entries in a hash-independent way
The test enumerates reflog entries in an arbitrary order and then sorts them. For SHA-1, this produces results that happen to sort in alphabetical order, but for other hash algorithms they sort differently. Ensure we sort the reflog entries in a hash-independent way by sorting on the ref name instead of the object ID. Remove an assumption about the length of a hash by using cut with the delimiter and field options instead of the character range option. Signed-off-by: brian m. carlson --- t/t1405-main-ref-store.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/t/t1405-main-ref-store.sh b/t/t1405-main-ref-store.sh index e8115df5ba..a1e243a05c 100755 --- a/t/t1405-main-ref-store.sh +++ b/t/t1405-main-ref-store.sh @@ -45,7 +45,7 @@ test_expect_success 'rename_refs(master, new-master)' ' ' test_expect_success 'for_each_ref(refs/heads/)' ' - $RUN for-each-ref refs/heads/ | cut -c 42- >actual && + $RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual && cat >expected <<-\EOF && master 0x0 new-master 0x0 @@ -71,7 +71,7 @@ test_expect_success 'verify_ref(new-master)' ' ' test_expect_success 'for_each_reflog()' ' - $RUN for-each-reflog | sort | cut -c 42- >actual && + $RUN for-each-reflog | sort -k2 | cut -c 42- >actual && cat >expected <<-\EOF && HEAD 0x1 refs/heads/master 0x0