Re: [PATCH 1/1] bundle verify: error out if called without an object database
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- May 27, 2019, 20:08 UTC
- Message-ID
- <20190527200838.GF8616@genre.crustytoothpaste.net>
- In-Reply-To
- <f0545e872344dd25e11db7fe095cde1578b26748.1558987152.git.gitgitgadget@gmail.com>
On 2019-05-27 at 19:59:14, Johannes Schindelin via GitGitGadget wrote:
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > > The deal with bundles is: they really are thin packs, with very little
Generally a colon can only follow what could be a complete sentence, so maybe we want to say something like "The deal with bundles is that they really are…" or "The deal with bundles is this: they really are…".
Show 37 quoted lines
> sugar on top. So we really need a repository (or more appropriately, an
> object database) to work with, when asked to verify a bundle.
>
> Let's error out with a useful error message if `git bundle verify` is
> called without such an object database to work with.
>
> Reported by Konstantin Ryabitsev.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> bundle.c | 3 +++
> t/t5607-clone-bundle.sh | 6 ++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/bundle.c b/bundle.c
> index b45666c49b..b5d21cd80f 100644
> --- a/bundle.c
> +++ b/bundle.c
> @@ -142,6 +142,9 @@ int verify_bundle(struct repository *r,
> int i, ret = 0, req_nr;
> const char *message = _("Repository lacks these prerequisite commits:");
>
> + if (!r || !r->objects || !r->objects->odb)
> + return error(_("need a repository to verify a bundle"));
> +
> repo_init_revisions(r, &revs, NULL);
> for (i = 0; i < p->nr; i++) {
> struct ref_list_entry *e = p->list + i;
> diff --git a/t/t5607-clone-bundle.sh b/t/t5607-clone-bundle.sh
> index cf39e9e243..2a0fb15cf1 100755
> --- a/t/t5607-clone-bundle.sh
> +++ b/t/t5607-clone-bundle.sh
> @@ -14,6 +14,12 @@ test_expect_success 'setup' '
> git tag -d third
> '
>
> +test_expect_success '"verify" needs a worktree' 'Did you want to say "needs a repository"? Or do we really need a worktree?
Other than that, this looks fine to me. This is a much better experience than a BUG and a nice improvement overall.
-- brian m. carlson: Houston, Texas, US OpenPGP: https://keybase.io/bk2204