mirror of
https://github.com/git/git.git
synced 2025-03-28 03:19:03 +00:00
This adds a builtin "push" command, which is largely just a C'ification of the "git-push.sh" 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 <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
26 lines
685 B
C
26 lines
685 B
C
#ifndef BUILTIN_H
|
|
#define BUILTIN_H
|
|
|
|
#ifndef PATH_MAX
|
|
# define PATH_MAX 4096
|
|
#endif
|
|
|
|
extern const char git_version_string[];
|
|
|
|
void cmd_usage(int show_all, const char *exec_path, const char *fmt, ...)
|
|
#ifdef __GNUC__
|
|
__attribute__((__format__(__printf__, 3, 4), __noreturn__))
|
|
#endif
|
|
;
|
|
|
|
extern int cmd_help(int argc, const char **argv, char **envp);
|
|
extern int cmd_version(int argc, const char **argv, char **envp);
|
|
|
|
extern int cmd_whatchanged(int argc, const char **argv, char **envp);
|
|
extern int cmd_show(int argc, const char **argv, char **envp);
|
|
extern int cmd_log(int argc, const char **argv, char **envp);
|
|
|
|
extern int cmd_push(int argc, const char **argv, char **envp);
|
|
|
|
#endif
|