2006-04-21 17:27:34 +00:00
|
|
|
#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);
|
2006-04-29 06:20:52 +00:00
|
|
|
extern int cmd_diff(int argc, const char **argv, char **envp);
|
2006-04-27 22:37:18 +00:00
|
|
|
extern int cmd_count_objects(int argc, const char **argv, char **envp);
|
2006-04-21 17:27:34 +00:00
|
|
|
|
git builtin "push"
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>
2006-04-30 04:22:49 +00:00
|
|
|
extern int cmd_push(int argc, const char **argv, char **envp);
|
2006-05-01 06:28:15 +00:00
|
|
|
extern int cmd_grep(int argc, const char **argv, char **envp);
|
2006-05-18 21:19:20 +00:00
|
|
|
extern int cmd_rev_list(int argc, const char **argv, char **envp);
|
2006-05-18 12:15:55 +00:00
|
|
|
extern int cmd_check_ref_format(int argc, const char **argv, char **envp);
|
2006-05-19 10:03:57 +00:00
|
|
|
extern int cmd_init_db(int argc, const char **argv, char **envp);
|
2006-05-23 12:15:29 +00:00
|
|
|
extern int cmd_ls_files(int argc, const char **argv, char **envp);
|
2006-05-23 12:15:30 +00:00
|
|
|
extern int cmd_ls_tree(int argc, const char **argv, char **envp);
|
2006-05-23 12:15:31 +00:00
|
|
|
extern int cmd_tar_tree(int argc, const char **argv, char **envp);
|
2006-05-23 12:15:32 +00:00
|
|
|
extern int cmd_read_tree(int argc, const char **argv, char **envp);
|
2006-05-23 12:15:33 +00:00
|
|
|
extern int cmd_commit_tree(int argc, const char **argv, char **envp);
|
git builtin "push"
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>
2006-04-30 04:22:49 +00:00
|
|
|
|
2006-04-21 17:27:34 +00:00
|
|
|
#endif
|