diff --git a/Makefile b/Makefile index 1552b2a530..91bd665725 100644 --- a/Makefile +++ b/Makefile @@ -284,6 +284,7 @@ BUILTIN_OBJS = \ builtin-diff-tree.o \ builtin-fmt-merge-msg.o \ builtin-for-each-ref.o \ + builtin-fsck.o \ builtin-grep.o \ builtin-init-db.o \ builtin-log.o \ diff --git a/fsck.c b/builtin-fsck.c similarity index 99% rename from fsck.c rename to builtin-fsck.c index 558f0a6b34..fec1cbd784 100644 --- a/fsck.c +++ b/builtin-fsck.c @@ -571,12 +571,11 @@ static int fsck_cache_tree(struct cache_tree *it) return err; } -int main(int argc, char **argv) +int cmd_fsck(int argc, char **argv, const char *prefix) { int i, heads; track_object_refs = 1; - setup_git_directory(); for (i = 1; i < argc; i++) { const char *arg = argv[i]; diff --git a/builtin.h b/builtin.h index cfe5990740..dd0e3529be 100644 --- a/builtin.h +++ b/builtin.h @@ -34,6 +34,7 @@ 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); extern int cmd_for_each_ref(int argc, const char **argv, const char *prefix); extern int cmd_format_patch(int argc, const char **argv, const char *prefix); +extern int cmd_fsck(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); diff --git a/git.c b/git.c index d21e5e505c..fb03a547de 100644 --- a/git.c +++ b/git.c @@ -235,6 +235,8 @@ static void handle_internal_command(int argc, const char **argv, char **envp) { "fmt-merge-msg", cmd_fmt_merge_msg, RUN_SETUP }, { "for-each-ref", cmd_for_each_ref, RUN_SETUP }, { "format-patch", cmd_format_patch, RUN_SETUP }, + { "fsck", cmd_fsck, RUN_SETUP }, + { "fsck-objects", cmd_fsck, RUN_SETUP }, { "get-tar-commit-id", cmd_get_tar_commit_id }, { "grep", cmd_grep, RUN_SETUP }, { "help", cmd_help },