2011-05-23 22:46:33 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/builtin/daemon.c
|
2010-11-28 18:02:17 +00:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+#include "../daemon.c"
|
2011-05-23 22:46:33 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/builtin/fast-import.c
|
2010-11-28 18:02:17 +00:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+#include "../fast-import.c"
|
2011-05-23 22:46:33 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/builtin/http-backend.c
|
2010-11-28 18:02:17 +00:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+#include "../http-backend.c"
|
2011-05-23 22:46:33 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/builtin/imap-send.c
|
2010-11-28 18:02:17 +00:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+#include "../imap-send.c"
|
2011-05-23 22:46:33 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/builtin/shell.c
|
2010-11-28 18:02:17 +00:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+#include "../shell.c"
|
2011-05-23 22:46:33 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/builtin/upload-pack.c
|
2010-11-28 18:02:17 +00:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+#include "../upload-pack.c"
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/builtin.h
|
|
|
|
+++ b/builtin.h
|
|
|
|
@@ -143,5 +143,11 @@ extern int cmd_verify_pack(int argc, con
|
2010-11-28 18:02:17 +00:00
|
|
|
extern int cmd_show_ref(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_pack_refs(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_replace(int argc, const char **argv, const char *prefix);
|
|
|
|
+extern int cmd_shell(int argc, char **argv, const char *prefix);
|
|
|
|
+extern int cmd_upload_pack(int argc, char **argv, const char *prefix);
|
|
|
|
+extern int cmd_http_backend(int argc, char **argv, const char *prefix);
|
|
|
|
+extern int cmd_daemon(int argc, char **argv, const char *prefix);
|
|
|
|
+extern int cmd_imap_send(int argc, char **argv, const char *prefix);
|
|
|
|
+extern int cmd_fast_import(int argc, const char **argv, const char *prefix);
|
|
|
|
|
|
|
|
#endif
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/daemon.c
|
|
|
|
+++ b/daemon.c
|
|
|
|
@@ -1043,7 +1043,7 @@ static int serve(struct string_list *lis
|
2011-04-16 08:59:26 +00:00
|
|
|
return service_loop(&socklist);
|
2010-11-28 18:02:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
-int main(int argc, char **argv)
|
|
|
|
+int cmd_daemon(int argc, char **argv, const char *prefix)
|
|
|
|
{
|
|
|
|
int listen_port = 0;
|
2011-04-16 08:59:26 +00:00
|
|
|
struct string_list listen_addr = STRING_LIST_INIT_NODUP;
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/fast-import.c
|
|
|
|
+++ b/fast-import.c
|
|
|
|
@@ -3242,7 +3242,7 @@ static void parse_argv(void)
|
2010-11-28 18:02:17 +00:00
|
|
|
read_marks();
|
|
|
|
}
|
|
|
|
|
|
|
|
-int main(int argc, const char **argv)
|
|
|
|
+int cmd_fast_import(int argc, const char **argv, const char *prefix)
|
|
|
|
{
|
|
|
|
unsigned int i;
|
|
|
|
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/git.c
|
|
|
|
+++ b/git.c
|
|
|
|
@@ -251,11 +251,11 @@ const char git_version_string[] = GIT_VE
|
2010-11-28 18:02:17 +00:00
|
|
|
|
|
|
|
struct cmd_struct {
|
|
|
|
const char *cmd;
|
|
|
|
- int (*fn)(int, const char **, const char *);
|
|
|
|
+ int (*fn)(int, char **, const char *);
|
|
|
|
int option;
|
|
|
|
};
|
|
|
|
|
|
|
|
-static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
|
|
|
|
+static int run_builtin(struct cmd_struct *p, int argc, char **argv)
|
|
|
|
{
|
|
|
|
int status, help;
|
|
|
|
struct stat st;
|
2011-05-23 22:46:33 +00:00
|
|
|
@@ -308,7 +308,7 @@ static int run_builtin(struct cmd_struct
|
2010-11-28 18:02:17 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
-static void handle_internal_command(int argc, const char **argv)
|
|
|
|
+static void handle_internal_command(int argc, char **argv)
|
|
|
|
{
|
|
|
|
const char *cmd = argv[0];
|
|
|
|
static struct cmd_struct commands[] = {
|
2011-05-23 22:46:33 +00:00
|
|
|
@@ -322,10 +322,9 @@ static void handle_internal_command(int
|
|
|
|
{ "bundle", cmd_bundle, RUN_SETUP_GENTLY },
|
|
|
|
{ "cat-file", cmd_cat_file, RUN_SETUP },
|
|
|
|
{ "check-attr", cmd_check_attr, RUN_SETUP },
|
|
|
|
- { "check-ref-format", cmd_check_ref_format },
|
|
|
|
{ "checkout", cmd_checkout, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
- { "checkout-index", cmd_checkout_index,
|
|
|
|
- RUN_SETUP | NEED_WORK_TREE},
|
|
|
|
+ { "checkout-index", cmd_checkout_index, RUN_SETUP | NEED_WORK_TREE},
|
|
|
|
+ { "check-ref-format", cmd_check_ref_format },
|
|
|
|
{ "cherry", cmd_cherry, RUN_SETUP },
|
|
|
|
{ "cherry-pick", cmd_cherry_pick, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "clean", cmd_clean, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
@@ -334,12 +333,14 @@ static void handle_internal_command(int
|
|
|
|
{ "commit-tree", cmd_commit_tree, RUN_SETUP },
|
|
|
|
{ "config", cmd_config, RUN_SETUP_GENTLY },
|
|
|
|
{ "count-objects", cmd_count_objects, RUN_SETUP },
|
2010-11-28 18:02:17 +00:00
|
|
|
+ { "daemon", cmd_daemon },
|
2011-05-23 22:46:33 +00:00
|
|
|
{ "describe", cmd_describe, RUN_SETUP },
|
|
|
|
{ "diff", cmd_diff },
|
|
|
|
{ "diff-files", cmd_diff_files, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "diff-index", cmd_diff_index, RUN_SETUP },
|
|
|
|
{ "diff-tree", cmd_diff_tree, RUN_SETUP },
|
|
|
|
{ "fast-export", cmd_fast_export, RUN_SETUP },
|
2010-11-28 18:02:17 +00:00
|
|
|
+ { "fast-import", cmd_fast_import },
|
2011-05-23 22:46:33 +00:00
|
|
|
{ "fetch", cmd_fetch, RUN_SETUP },
|
|
|
|
{ "fetch-pack", cmd_fetch_pack, RUN_SETUP },
|
|
|
|
{ "fmt-merge-msg", cmd_fmt_merge_msg, RUN_SETUP },
|
|
|
|
@@ -352,6 +353,8 @@ static void handle_internal_command(int
|
|
|
|
{ "grep", cmd_grep, RUN_SETUP_GENTLY },
|
|
|
|
{ "hash-object", cmd_hash_object },
|
|
|
|
{ "help", cmd_help },
|
|
|
|
+ { "http-backend", cmd_http_backend },
|
|
|
|
+ { "imap-send", cmd_imap_send },
|
|
|
|
{ "index-pack", cmd_index_pack, RUN_SETUP_GENTLY },
|
|
|
|
{ "init", cmd_init_db },
|
|
|
|
{ "init-db", cmd_init_db },
|
|
|
|
@@ -361,8 +364,8 @@ static void handle_internal_command(int
|
|
|
|
{ "ls-tree", cmd_ls_tree, RUN_SETUP },
|
|
|
|
{ "mailinfo", cmd_mailinfo },
|
|
|
|
{ "mailsplit", cmd_mailsplit },
|
|
|
|
- { "merge", cmd_merge, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "merge-base", cmd_merge_base, RUN_SETUP },
|
|
|
|
+ { "merge", cmd_merge, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "merge-file", cmd_merge_file, RUN_SETUP_GENTLY },
|
|
|
|
{ "merge-index", cmd_merge_index, RUN_SETUP },
|
|
|
|
{ "merge-ours", cmd_merge_ours, RUN_SETUP },
|
|
|
|
@@ -395,14 +398,15 @@ static void handle_internal_command(int
|
|
|
|
{ "repo-config", cmd_repo_config, RUN_SETUP_GENTLY },
|
|
|
|
{ "rerere", cmd_rerere, RUN_SETUP },
|
|
|
|
{ "reset", cmd_reset, RUN_SETUP },
|
|
|
|
+ { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "rev-list", cmd_rev_list, RUN_SETUP },
|
|
|
|
{ "rev-parse", cmd_rev_parse },
|
|
|
|
- { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "rm", cmd_rm, RUN_SETUP },
|
|
|
|
{ "send-pack", cmd_send_pack, RUN_SETUP },
|
|
|
|
+ { "shell", cmd_shell },
|
|
|
|
{ "shortlog", cmd_shortlog, RUN_SETUP_GENTLY | USE_PAGER },
|
|
|
|
- { "show", cmd_show, RUN_SETUP },
|
|
|
|
{ "show-branch", cmd_show_branch, RUN_SETUP },
|
|
|
|
+ { "show", cmd_show, RUN_SETUP },
|
|
|
|
{ "show-ref", cmd_show_ref, RUN_SETUP },
|
|
|
|
{ "stage", cmd_add, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
{ "status", cmd_status, RUN_SETUP | NEED_WORK_TREE },
|
|
|
|
@@ -416,6 +420,7 @@ static void handle_internal_command(int
|
|
|
|
{ "update-ref", cmd_update_ref, RUN_SETUP },
|
|
|
|
{ "update-server-info", cmd_update_server_info, RUN_SETUP },
|
|
|
|
{ "upload-archive", cmd_upload_archive },
|
|
|
|
+ { "upload-pack", cmd_upload_pack },
|
|
|
|
{ "var", cmd_var, RUN_SETUP_GENTLY },
|
|
|
|
{ "verify-pack", cmd_verify_pack },
|
|
|
|
{ "verify-tag", cmd_verify_tag, RUN_SETUP },
|
|
|
|
--- a/http-backend.c
|
|
|
|
+++ b/http-backend.c
|
|
|
|
@@ -540,7 +540,7 @@ static struct service_cmd {
|
2010-11-28 18:02:17 +00:00
|
|
|
{"POST", "/git-receive-pack$", service_rpc}
|
|
|
|
};
|
|
|
|
|
|
|
|
-int main(int argc, char **argv)
|
|
|
|
+int cmd_http_backend(int argc, char **argv, const char *prefix)
|
|
|
|
{
|
|
|
|
char *method = getenv("REQUEST_METHOD");
|
|
|
|
char *dir;
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/imap-send.c
|
|
|
|
+++ b/imap-send.c
|
|
|
|
@@ -1528,7 +1528,7 @@ static int git_imap_config(const char *k
|
2010-11-28 18:02:17 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
-int main(int argc, char **argv)
|
|
|
|
+int cmd_imap_send(int argc, char **argv, const char *prefix)
|
|
|
|
{
|
|
|
|
struct msg_data all_msgs, msg;
|
|
|
|
struct store *ctx = NULL;
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/Makefile
|
|
|
|
+++ b/Makefile
|
|
|
|
@@ -407,13 +407,7 @@ EXTRA_PROGRAMS =
|
2010-11-28 18:02:17 +00:00
|
|
|
# ... and all the rest that could be moved out of bindir to gitexecdir
|
|
|
|
PROGRAMS += $(EXTRA_PROGRAMS)
|
|
|
|
|
2011-04-16 08:59:26 +00:00
|
|
|
-PROGRAM_OBJS += daemon.o
|
2010-11-28 18:02:17 +00:00
|
|
|
-PROGRAM_OBJS += fast-import.o
|
|
|
|
-PROGRAM_OBJS += imap-send.o
|
|
|
|
-PROGRAM_OBJS += shell.o
|
|
|
|
PROGRAM_OBJS += show-index.o
|
|
|
|
-PROGRAM_OBJS += upload-pack.o
|
|
|
|
-PROGRAM_OBJS += http-backend.o
|
|
|
|
|
|
|
|
PROGRAMS += $(patsubst %.o,git-%$X,$(PROGRAM_OBJS))
|
|
|
|
|
2011-05-23 22:46:33 +00:00
|
|
|
@@ -771,6 +765,12 @@ BUILTIN_OBJS += builtin/var.o
|
2010-11-28 18:02:17 +00:00
|
|
|
BUILTIN_OBJS += builtin/verify-pack.o
|
|
|
|
BUILTIN_OBJS += builtin/verify-tag.o
|
|
|
|
BUILTIN_OBJS += builtin/write-tree.o
|
|
|
|
+BUILTIN_OBJS += builtin/shell.o
|
|
|
|
+BUILTIN_OBJS += builtin/upload-pack.o
|
|
|
|
+BUILTIN_OBJS += builtin/http-backend.o
|
|
|
|
+BUILTIN_OBJS += builtin/daemon.o
|
|
|
|
+BUILTIN_OBJS += builtin/imap-send.o
|
|
|
|
+BUILTIN_OBJS += builtin/fast-import.o
|
|
|
|
|
|
|
|
GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
|
|
|
|
EXTLIBS =
|
2011-05-23 22:46:33 +00:00
|
|
|
@@ -1289,7 +1289,7 @@ endif
|
2010-11-28 18:02:17 +00:00
|
|
|
EXTLIBS += -lz
|
|
|
|
|
|
|
|
ifndef NO_OPENSSL
|
|
|
|
- OPENSSL_LIBSSL = -lssl
|
|
|
|
+ EXTLIBS += -lssl
|
|
|
|
ifdef OPENSSLDIR
|
|
|
|
BASIC_CFLAGS += -I$(OPENSSLDIR)/include
|
|
|
|
OPENSSL_LINK = -L$(OPENSSLDIR)/$(lib) $(CC_LD_DYNPATH)$(OPENSSLDIR)/$(lib)
|
2011-05-23 22:46:33 +00:00
|
|
|
@@ -1975,10 +1975,6 @@ endif
|
2010-11-28 18:02:17 +00:00
|
|
|
git-%$X: %.o $(GITLIBS)
|
|
|
|
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
|
|
|
|
|
|
|
|
-git-imap-send$X: imap-send.o $(GITLIBS)
|
|
|
|
- $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
2011-01-01 09:42:17 +00:00
|
|
|
- $(LIBS) $(OPENSSL_LINK) $(OPENSSL_LIBSSL) $(LIB_4_CRYPTO)
|
2010-11-28 18:02:17 +00:00
|
|
|
-
|
|
|
|
git-http-fetch$X: revision.o http.o http-walker.o http-fetch.o $(GITLIBS)
|
|
|
|
$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
|
|
|
|
$(LIBS) $(CURL_LIBCURL)
|
2011-05-23 23:11:03 +00:00
|
|
|
@@ -2193,22 +2189,20 @@ endif
|
2010-11-28 18:02:17 +00:00
|
|
|
bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
|
|
|
|
execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
|
|
|
|
{ test "$$bindir/" = "$$execdir/" || \
|
|
|
|
- for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
|
|
|
|
+ for p in $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
|
|
|
|
$(RM) "$$execdir/$$p" && \
|
|
|
|
test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
|
|
|
|
- ln "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \
|
|
|
|
+ ln -s git "$$execdir/$$p" 2>/dev/null || \
|
|
|
|
cp "$$bindir/$$p" "$$execdir/$$p" || exit; \
|
|
|
|
done; \
|
|
|
|
} && \
|
|
|
|
for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
|
|
|
|
$(RM) "$$bindir/$$p" && \
|
|
|
|
- ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
|
|
|
|
ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
|
|
|
|
cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
|
|
|
|
done && \
|
|
|
|
for p in $(BUILT_INS); do \
|
|
|
|
$(RM) "$$execdir/$$p" && \
|
|
|
|
- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
|
|
|
|
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
|
|
|
|
cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
|
|
|
|
done && \
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/shell.c
|
|
|
|
+++ b/shell.c
|
|
|
|
@@ -129,7 +129,7 @@ static struct commands {
|
2010-11-28 18:02:17 +00:00
|
|
|
{ NULL },
|
|
|
|
};
|
|
|
|
|
|
|
|
-int main(int argc, char **argv)
|
|
|
|
+int cmd_shell(int argc, char **argv, const char *prefix)
|
|
|
|
{
|
|
|
|
char *prog;
|
2011-04-16 08:59:26 +00:00
|
|
|
const char **user_argv;
|
2011-05-23 22:46:33 +00:00
|
|
|
--- a/upload-pack.c
|
|
|
|
+++ b/upload-pack.c
|
|
|
|
@@ -697,7 +697,7 @@ static void upload_pack(void)
|
2010-11-28 18:02:17 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-int main(int argc, char **argv)
|
|
|
|
+int cmd_upload_pack(int argc, char **argv, const char *prefix)
|
|
|
|
{
|
|
|
|
char *dir;
|
|
|
|
int i;
|