# [PATCH] remote-bzr: fix cloning of non-listable repos

2 messages from 2013-05-16 to 2013-05-16. Participants: Felipe Contreras, Junio C Hamano.
Thread: https://gitlist.dev/t/33838

## Felipe Contreras, 2013-05-16 10:04

Subject: [PATCH] remote-bzr: fix cloning of non-listable repos
Message-ID: <1368698645-28429-1-git-send-email-felipe.contreras@gmail.com>
URL: https://gitlist.dev/e/1368698645-28429-1-git-send-email-felipe.contreras%40gmail.com

```
Commit 95b0c60 (remote-bzr: add support for bzr repos) introduced a
regression by assuming all bzr remote repos are listable, but they are
not.

If they are not listable they are basically useless, so let's assume
there is no bzr repo.

Reported-by: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---

We want this on master for v1.8.3.

 contrib/remote-helpers/git-remote-bzr | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
index b295dd4..ad42317 100755
--- a/contrib/remote-helpers/git-remote-bzr
+++ b/contrib/remote-helpers/git-remote-bzr
@@ -840,6 +840,9 @@ def get_repo(url, alias):
 
     try:
         repo = origin.open_repository()
+        if not repo.user_transport.listable():
+            # this repository is not usable for us
+            raise bzrlib.errors.NoRepositoryPresent(repo.bzrdir)
     except bzrlib.errors.NoRepositoryPresent:
         # branch
 
-- 
1.8.3.rc2.542.g24820ba

```

## Junio C Hamano, 2013-05-16 16:29

Subject: Re: [PATCH] remote-bzr: fix cloning of non-listable repos
Message-ID: <7vli7e7usi.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vli7e7usi.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1368698645-28429-1-git-send-email-felipe.contreras@gmail.com>

```
Felipe Contreras <felipe.contreras@gmail.com> writes:

> Commit 95b0c60 (remote-bzr: add support for bzr repos) introduced a
> regression by assuming all bzr remote repos are listable, but they are
> not.
>
> If they are not listable they are basically useless, so let's assume
> there is no bzr repo.
>
> Reported-by: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> ---
>
> We want this on master for v1.8.3.

Sure.

>
>  contrib/remote-helpers/git-remote-bzr | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
> index b295dd4..ad42317 100755
> --- a/contrib/remote-helpers/git-remote-bzr
> +++ b/contrib/remote-helpers/git-remote-bzr
> @@ -840,6 +840,9 @@ def get_repo(url, alias):
>  
>      try:
>          repo = origin.open_repository()
> +        if not repo.user_transport.listable():
> +            # this repository is not usable for us
> +            raise bzrlib.errors.NoRepositoryPresent(repo.bzrdir)
>      except bzrlib.errors.NoRepositoryPresent:
>          # branch

```
