2006-04-21 17:27:34 +00:00
|
|
|
#ifndef BUILTIN_H
|
|
|
|
#define BUILTIN_H
|
|
|
|
|
2006-09-16 05:47:21 +00:00
|
|
|
#include "git-compat-util.h"
|
2006-04-21 17:27:34 +00:00
|
|
|
|
|
|
|
extern const char git_version_string[];
|
2006-07-30 21:42:25 +00:00
|
|
|
extern const char git_usage_string[];
|
2006-04-21 17:27:34 +00:00
|
|
|
|
2006-07-30 21:42:25 +00:00
|
|
|
extern void help_unknown_cmd(const char *cmd);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int mailinfo(FILE *in, FILE *out, int ks, const char *encoding, const char *msg, const char *patch);
|
|
|
|
extern int split_mbox(const char **mbox, const char *dir, int allow_bare, int nr_prec, int skip);
|
|
|
|
extern void stripspace(FILE *in, FILE *out);
|
|
|
|
extern int write_tree(unsigned char *sha1, int missing_ok, const char *prefix);
|
2006-04-21 17:27:34 +00:00
|
|
|
|
2006-07-29 05:44:25 +00:00
|
|
|
extern int cmd_add(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_apply(int argc, const char **argv, const char *prefix);
|
Add git-archive
git-archive is a command to make TAR and ZIP archives of a git tree.
It helps prevent a proliferation of git-{format}-tree commands.
Instead of directly calling git-{tar,zip}-tree command, it defines
a very simple API, that archiver should implement and register in
"git-archive.c". This API is made up by 2 functions whose prototype
is defined in "archive.h" file.
- The first one is used to parse 'extra' parameters which have
signification only for the specific archiver. That would allow
different archive backends to have different kind of options.
- The second one is used to ask to an archive backend to build
the archive given some already resolved parameters.
The main reason for making this API is to avoid using
git-{tar,zip}-tree commands, hence making them useless. Maybe it's
time for them to die ?
It also implements remote operations by defining a very simple
protocol: it first sends the name of the specific uploader followed
the repository name (git-upload-tar git://example.org/repo.git).
Then it sends options. It's done by sending a sequence of one
argument per packet, with prefix "argument ", followed by a flush.
The remote protocol is implemented in "git-archive.c" for client
side and is triggered by "--remote=<repo>" option. For example,
to fetch a TAR archive in a remote repo, you can issue:
$ git archive --format=tar --remote=git://xxx/yyy/zzz.git HEAD
We choose to not make a new command "git-fetch-archive" for example,
avoind one more GIT command which should be nice for users (less
commands to remember, keeps existing --remote option).
Signed-off-by: Franck Bui-Huu <vagabon.xyz@gmail.com>
Acked-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-07 13:12:02 +00:00
|
|
|
extern int cmd_archive(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_cat_file(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_checkout_index(int argc, const char **argv, const char *prefix);
|
2006-07-29 05:44:25 +00:00
|
|
|
extern int cmd_check_ref_format(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
|
2006-07-29 05:44:25 +00:00
|
|
|
extern int cmd_diff_files(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_diff_index(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_diff(int argc, const char **argv, const char *prefix);
|
2006-07-29 05:44:25 +00:00
|
|
|
extern int cmd_diff_stages(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_diff_tree(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);
|
2006-09-15 20:30:02 +00:00
|
|
|
extern int cmd_for_each_ref(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_format_patch(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_grep(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_help(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_init_db(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_log(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_ls_files(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_ls_tree(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_mailinfo(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_mailsplit(int argc, const char **argv, const char *prefix);
|
2006-07-29 08:54:54 +00:00
|
|
|
extern int cmd_mv(int argc, const char **argv, const char *prefix);
|
2006-08-03 15:24:35 +00:00
|
|
|
extern int cmd_name_rev(int argc, const char **argv, const char *prefix);
|
2006-08-03 15:24:36 +00:00
|
|
|
extern int cmd_pack_objects(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_prune(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_prune_packed(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_push(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_read_tree(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_repo_config(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_rev_list(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_rev_parse(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_rm(int argc, const char **argv, const char *prefix);
|
2006-09-08 08:05:34 +00:00
|
|
|
extern int cmd_runstatus(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_show(int argc, const char **argv, const char *prefix);
|
2006-09-15 20:30:02 +00:00
|
|
|
extern int cmd_show_branch(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_stripspace(int argc, const char **argv, const char *prefix);
|
2006-08-03 15:24:38 +00:00
|
|
|
extern int cmd_symbolic_ref(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_tar_tree(int argc, const char **argv, const char *prefix);
|
2006-08-26 21:19:21 +00:00
|
|
|
extern int cmd_zip_tree(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_unpack_objects(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_update_index(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_update_ref(int argc, const char **argv, const char *prefix);
|
2006-09-07 13:12:05 +00:00
|
|
|
extern int cmd_upload_archive(int argc, const char **argv, const char *prefix);
|
2006-08-04 08:51:04 +00:00
|
|
|
extern int cmd_upload_tar(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_version(int argc, const char **argv, const char *prefix);
|
|
|
|
extern int cmd_whatchanged(int argc, const char **argv, const char *prefix);
|
2006-07-29 05:44:25 +00:00
|
|
|
extern int cmd_write_tree(int argc, const char **argv, const char *prefix);
|
2006-08-10 15:02:38 +00:00
|
|
|
extern int cmd_verify_pack(int argc, const char **argv, const char *prefix);
|
Start handling references internally as a sorted in-memory list
This also adds some very rudimentary support for the notion of packed
refs. HOWEVER! At this point it isn't used to actually look up a ref
yet, only for listing them (ie "for_each_ref()" and friends see the
packed refs, but none of the other single-ref lookup routines).
Note how we keep two separate lists: one for the loose refs, and one for
the packed refs we read. That's so that we can easily keep the two apart,
and read only one set or the other (and still always make sure that the
loose refs take precedence).
[ From this, it's not actually obvious why we'd keep the two separate
lists, but it's important to have the packed refs on their own list
later on, when I add support for looking up a single loose one.
For that case, we will want to read _just_ the packed refs in case the
single-ref lookup fails, yet we may end up needing the other list at
some point in the future, so keeping them separated is important ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-11 23:37:32 +00:00
|
|
|
extern int cmd_pack_refs(int argc, const char **argv, const char *prefix);
|
2006-06-13 20:21:50 +00:00
|
|
|
|
2006-04-21 17:27:34 +00:00
|
|
|
#endif
|