remote.c: introduce a way to have different remotes for fetch/push
authorRamkumar Ramachandra <artagnon@gmail.com>
Tue, 2 Apr 2013 07:40:32 +0000 (13:10 +0530)
committerJunio C Hamano <gitster@pobox.com>
Tue, 2 Apr 2013 17:41:42 +0000 (10:41 -0700)
commitf24f715e05399cba19cb9455fdd7d8a9806fe61b
tree5f7b6ddc8829eeef8ed4cc4eee66f18791d7d0dd
parent2e433b7895798d2936d9708da9f99bd190cd39fc
remote.c: introduce a way to have different remotes for fetch/push

Currently, do_push() in push.c calls remote_get(), which gets the
configured remote for fetching and pushing.  Replace this call with a
call to pushremote_get() instead, a new function that will return the
remote configured specifically for pushing.  This function tries to
work with the string pushremote_name, before falling back to the
codepath of remote_get().  This patch has no visible impact, but
serves to enable future patches to introduce configuration variables
to set pushremote_name.  For example, you can now do the following in
handle_config():

    if (!strcmp(key, "remote.pushdefault"))
       git_config_string(&pushremote_name, key, value);

Then, pushes will automatically go to the remote specified by
remote.pushdefault.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/push.c
remote.c
remote.h