From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: Max Kirillov <max@max630.net>,
Michael Haggerty <mhagger@alum.mit.edu>,
git@vger.kernel.org
Subject: Re: [RFC PATCH] pack-refs: fail on falsely sorted packed-refs
Date: Wed, 13 Feb 2019 11:56:16 +0100 [thread overview]
Message-ID: <20190213105616.GH1622@szeder.dev> (raw)
In-Reply-To: <87lg2kj91a.fsf@evledraar.gmail.com>
On Wed, Feb 13, 2019 at 11:08:01AM +0100, Ævar Arnfjörð Bjarmason wrote:
>
> On Thu, Jan 31 2019, Max Kirillov wrote:
> > refs/packed-backend.c | 15 +++++++++++++++
> > t/t3212-pack-refs-broken-sorting.sh | 26 ++++++++++++++++++++++++++
> > 2 files changed, 41 insertions(+)
> > create mode 100755 t/t3212-pack-refs-broken-sorting.sh
>
> This is not an area I'm very familiar with. So mostly commeting on
> cosmetic issues with the patch.
Just two quick comments in addition to Ævar's:
> > @@ -1137,6 +1138,20 @@ static int write_with_updates(struct packed_ref_store *refs,
> > struct ref_update *update = NULL;
> > int cmp;
> >
> > + if (iter)
> > + {
According to our CodingGuidelines, the opening bracket should go on
the same line as the condition, i.e.
if (iter) {
> > diff --git a/t/t3212-pack-refs-broken-sorting.sh b/t/t3212-pack-refs-broken-sorting.sh
> > new file mode 100755
> > index 0000000000..37a98a6fb1
> > --- /dev/null
> > +++ b/t/t3212-pack-refs-broken-sorting.sh
> > @@ -0,0 +1,26 @@
> > +#!/bin/sh
> > +
> > +test_description='tests for the falsely sorted refs'
> > +. ./test-lib.sh
> > +
> > +test_expect_success 'setup' '
> > + git commit --allow-empty -m commit &&
>
> Looks like just "test_commit A" would do here.
>
> > + for num in $(test_seq 10)
> > + do
> > + git branch b$(printf "%02d" $num) || break
> > + done &&
>
> We can fail in these sorts of loops. There's a few ways to deal with
> that. Doing it like this with "break" will still silently hide errors:
>
> $ for i in $(seq 1 3); do if test $i = 2; then false || break; else echo $i; fi; done && echo success
> 1
> success
>
> One way to deal with that is to e.g. before the loop say "had_fail=",
> then set "had_fail=t" in that "||" case, and test for it after the loop.
No, you can simply do 'cmd1 && cmd2 || return 1' in the body of the
for loop; that's why we have a separate test_eval_inner() helper
function in test-lib.
next prev parent reply other threads:[~2019-02-13 10:56 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-30 23:13 [RFC PATCH] pack-refs: fail on falsely sorted packed-refs Max Kirillov
2019-01-30 23:31 ` Eric Sunshine
2019-01-31 8:21 ` Max Kirillov
2019-02-08 21:22 ` [PATCH v2] " Max Kirillov
2019-02-08 21:40 ` Eric Sunshine
2019-02-13 4:24 ` Max Kirillov
[not found] ` <CAMy9T_EX_L80-V4zD626nFCxw6qa90+pZwcbd6wHw9ZHcj2rNA@mail.gmail.com>
2019-02-13 4:23 ` Max Kirillov
2019-02-13 10:08 ` [RFC PATCH] " Ævar Arnfjörð Bjarmason
2019-02-13 10:56 ` SZEDER Gábor [this message]
2019-02-23 7:10 ` Max Kirillov
2019-02-14 6:06 ` Jeff King
2019-02-23 7:09 ` Max Kirillov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190213105616.GH1622@szeder.dev \
--to=szeder.dev@gmail.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=max@max630.net \
--cc=mhagger@alum.mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).