# [PATCH] transport-helper: barf when user tries old:new

3 messages from 2013-05-21 to 2013-05-21. Participants: Felipe Contreras, Junio C Hamano.
Thread: https://gitlist.dev/t/33882

## Felipe Contreras, 2013-05-21 01:02

Subject: [PATCH] transport-helper: barf when user tries old:new
Message-ID: <1369098165-8727-1-git-send-email-felipe.contreras@gmail.com>
URL: https://gitlist.dev/e/1369098165-8727-1-git-send-email-felipe.contreras%40gmail.com

```
Otherwise with certain remote helpers (the ones that support 'export'),
the users will be pushing to the wrong branch:

  git push topic:master

Will push the topic branch, as if the user typed:

  git push topic

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---

I did fix this properly, but was beaten by shoots from the hip[1]. I won't
bother rationalizing if this makes sense for 'master', or writing tests. This
patch can't possibly make anything worst. If somebody is interested, there's
proper fix: [1], with explanation, tests, and everything.

[1] http://article.gmane.org/gmane.comp.version-control.git/223706

 transport-helper.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/transport-helper.c b/transport-helper.c
index 522d791..a782a9b 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -813,9 +813,11 @@ static int push_refs_with_export(struct transport *transport,
 			die("remote-helpers do not support ref deletion");
 		}
 
-		if (ref->peer_ref)
+		if (ref->peer_ref) {
+			if (strcmp(ref->peer_ref->name, ref->name))
+				die("remote-helpers do not support old:new syntax");
 			string_list_append(&revlist_args, ref->peer_ref->name);
-
+		}
 	}
 
 	if (get_exporter(transport, &exporter, &revlist_args))
-- 
1.8.3.rc3.1.gf572ce5.dirty

```

## Junio C Hamano, 2013-05-21 16:32

Subject: Re: [PATCH] transport-helper: barf when user tries old:new
Message-ID: <7v7gisqonp.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v7gisqonp.fsf%40alter.siamese.dyndns.org
In-Reply-To: <1369098165-8727-1-git-send-email-felipe.contreras@gmail.com>

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

> Otherwise with certain remote helpers (the ones that support 'export'),
> the users will be pushing to the wrong branch:
>
>   git push topic:master
>
> Will push the topic branch, as if the user typed:
>
>   git push topic
>
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> ---
>
> I won't
> bother rationalizing if this makes sense for 'master'

As this is a change to an old code/behaviour that was with us with
many released versions, it hardly is for 'master' during -rc period.

I think your dry-run one (the reroll) is a good fix but for the same
reason I'd rather see us apply after 1.8.3 final.

```

## Felipe Contreras, 2013-05-21 21:12

Subject: Re: [PATCH] transport-helper: barf when user tries old:new
Message-ID: <CAMP44s2EbKxqCFepnBj82oprz9WDWqS935w-fXFRHxrh+ng7kA@mail.gmail.com>
URL: https://gitlist.dev/e/CAMP44s2EbKxqCFepnBj82oprz9WDWqS935w-fXFRHxrh%2Bng7kA%40mail.gmail.com
In-Reply-To: <7v7gisqonp.fsf@alter.siamese.dyndns.org>

```
On Tue, May 21, 2013 at 11:32 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:

>> I won't
>> bother rationalizing if this makes sense for 'master'
>
> As this is a change to an old code/behaviour that was with us with
> many released versions, it hardly is for 'master' during -rc period.

Probably.

-- 
Felipe Contreras

```
