# [PATCH v2] remotes-hg: bugfix for fetching non local remotes

3 messages from 2013-07-24 to 2013-07-25. Participants: Joern Hees, Junio C Hamano, Jörn Hees.
Thread: https://gitlist.dev/t/34527

## Joern Hees, 2013-07-24 14:21

Subject: [PATCH v2] remotes-hg: bugfix for fetching non local remotes
Message-ID: <1374675701-10592-1-git-send-email-dev@joernhees.de>
URL: https://gitlist.dev/e/1374675701-10592-1-git-send-email-dev%40joernhees.de

```
6796d49 introduced a bug by making shared_path == ".git/hg' which
will most likely exist already, causing a new remote never to be
cloned and subsequently causing hg.share to fail with error msg:
"mercurial.error.RepoError: repository .git/hg not found"

Changing shared_path to ".git/hg/.shared" will solve this problem
and create a shared local mercurial repository for non local remotes.
The initial dot circumvents a name clash problem should a remote be
called "shared".

Signed-off-by: Joern Hees <dev@joernhees.de>
Mentored-by: Antoine Pelisse <apelisse@gmail.com>
---
 contrib/remote-helpers/git-remote-hg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
index 0194c67..4a7d7a8 100755
--- a/contrib/remote-helpers/git-remote-hg
+++ b/contrib/remote-helpers/git-remote-hg
@@ -390,7 +390,7 @@ def get_repo(url, alias):
         if not os.path.exists(dirname):
             os.makedirs(dirname)
     else:
-        shared_path = os.path.join(gitdir, 'hg')
+        shared_path = os.path.join(gitdir, 'hg', '.share')
         if not os.path.exists(shared_path):
             try:
                 hg.clone(myui, {}, url, shared_path, update=False, pull=True)
-- 
1.8.3.4

```

## Junio C Hamano, 2013-07-24 23:02

Subject: Re: [PATCH v2] remotes-hg: bugfix for fetching non local remotes
Message-ID: <7vd2q75zoo.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vd2q75zoo.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1374675701-10592-1-git-send-email-dev@joernhees.de>

```
Joern Hees <dev@joernhees.de> writes:

> 6796d49 introduced a bug by making shared_path == ".git/hg' which
> will most likely exist already, causing a new remote never to be
> cloned and subsequently causing hg.share to fail with error msg:
> "mercurial.error.RepoError: repository .git/hg not found"
>
> Changing shared_path to ".git/hg/.shared" will solve this problem

Here you say "shared" and the code says "share"; which one is
preferred (I know either would work, but we would want to be
consistent).

I'd vote for "shared", but I do not see a compelling reason to pick
one over the other so...?

> and create a shared local mercurial repository for non local remotes.
> The initial dot circumvents a name clash problem should a remote be
> called "shared".
>
> Signed-off-by: Joern Hees <dev@joernhees.de>
> Mentored-by: Antoine Pelisse <apelisse@gmail.com>
> ---
>  contrib/remote-helpers/git-remote-hg | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/contrib/remote-helpers/git-remote-hg b/contrib/remote-helpers/git-remote-hg
> index 0194c67..4a7d7a8 100755
> --- a/contrib/remote-helpers/git-remote-hg
> +++ b/contrib/remote-helpers/git-remote-hg
> @@ -390,7 +390,7 @@ def get_repo(url, alias):
>          if not os.path.exists(dirname):
>              os.makedirs(dirname)
>      else:
> -        shared_path = os.path.join(gitdir, 'hg')
> +        shared_path = os.path.join(gitdir, 'hg', '.share')
>          if not os.path.exists(shared_path):
>              try:
>                  hg.clone(myui, {}, url, shared_path, update=False, pull=True)

```

## Jörn Hees, 2013-07-25 00:42

Subject: Re: [PATCH v2] remotes-hg: bugfix for fetching non local remotes
Message-ID: <6EDE159E-66C2-4CD8-B6D8-9960C681A3FB@joernhees.de>
URL: https://gitlist.dev/e/6EDE159E-66C2-4CD8-B6D8-9960C681A3FB%40joernhees.de
In-Reply-To: <7vd2q75zoo.fsf@alter.siamese.dyndns.org>

```

On 25 Jul 2013, at 01:02, Junio C Hamano <gitster@pobox.com> wrote:
> Joern Hees <dev@joernhees.de> writes:
>> 
>> Changing shared_path to ".git/hg/.shared" will solve this problem
> 
> Here you say "shared" and the code says "share"; which one is
> preferred (I know either would work, but we would want to be
> consistent).
> 
> I'd vote for "shared", but I do not see a compelling reason to pick
> one over the other so…?

ok, v3 coming...

```
