path: root/git.c
diff options
authorLinus Torvalds <>2006-04-30 04:22:49 (GMT)
committerJunio C Hamano <>2006-04-30 07:59:18 (GMT)
commit755225de6ce4c7b39137afefb35208d0dbc14d9d (patch)
treed9aa5f4ac00ad3b5c7c93aac6a40d953a34e41c3 /git.c
parent66ae0c7702e68765dad17aa05c5d9255d999216c (diff)
git builtin "push"
This adds a builtin "push" command, which is largely just a C'ification of the "" script. Now, the reason I did it as a built-in is partly because it's yet another step on relying less on shell, but it's actually mostly because I've wanted to be able to push to _multiple_ repositories, and the most obvious and simplest interface for that would seem be to just have a "remotes" file that has multiple URL entries. (For "pull", having multiple entries should either just select the first one, or you could fall back on the others on failure - your choice). And quite frankly, it just became too damn messy to do that in shell. Besides, we actually have a fair amount of infrastructure in C, so it just wasn't that hard to do. Of course, this is almost totally untested. It probably doesn't work for anything but the one trial I threw at it. "Simple" doesn't necessarily mean "obviously correct". Signed-off-by: Linus Torvalds <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'git.c')
1 files changed, 1 insertions, 0 deletions
diff --git a/git.c b/git.c
index 01b7e28..fd479e9 100644
--- a/git.c
+++ b/git.c
@@ -46,6 +46,7 @@ static void handle_internal_command(int argc, const char **argv, char **envp)
{ "log", cmd_log },
{ "whatchanged", cmd_whatchanged },
{ "show", cmd_show },
+ { "push", cmd_push },
int i;