threads / patch / 33882

patchtransport-helper: barf when user tries old:new

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

## tl;dr

3 messages between May 21, 2013 and May 21, 2013. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Felipe Contreras· May 21, 2013, 01:02 UTC · lore

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(-)
Show changes to transport-helper.c +4 −2
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· May 21, 2013, 16:32 UTC · re: Felipe Contreras · lore

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

Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 14 quoted lines
> 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· May 21, 2013, 21:12 UTC · re: Junio C Hamano · lore

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

On Tue, May 21, 2013 at 11:32 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 5 quoted lines
>> 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

← back to recent threads