]> git.ipfire.org Git - thirdparty/git.git/commitdiff
transport-helper: barf when user tries old:new
authorFelipe Contreras <felipe.contreras@gmail.com>
Tue, 21 May 2013 01:02:45 +0000 (20:02 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 May 2013 16:53:59 +0000 (09:53 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
transport-helper.c

index 522d79178e2cc4909a5df21fe483946fc3d1ad0e..a782a9bd71695210aeec271da60120ef69141d00 100644 (file)
@@ -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))