Skip to content

Commit a006f87

Browse files
peffgitster
authored andcommitted
make git-fast-import a builtin
There's no reason that git-fast-import benefits from being a separate binary. And as it links against libgit.a, it has a non-trivial disk footprint. Let's make it a builtin, which reduces the size of a stripped installation from 22MB to 21MB. Signed-off-by: Jeff King <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent d7a5649 commit a006f87

File tree

5 files changed

+5
-8
lines changed

5 files changed

+5
-8
lines changed

Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,6 @@ EXTRA_PROGRAMS =
672672
PROGRAMS += $(EXTRA_PROGRAMS)
673673

674674
PROGRAM_OBJS += daemon.o
675-
PROGRAM_OBJS += fast-import.o
676675
PROGRAM_OBJS += http-backend.o
677676
PROGRAM_OBJS += imap-send.o
678677
PROGRAM_OBJS += remote-testsvn.o
@@ -1069,6 +1068,7 @@ BUILTIN_OBJS += builtin/diff.o
10691068
BUILTIN_OBJS += builtin/difftool.o
10701069
BUILTIN_OBJS += builtin/env--helper.o
10711070
BUILTIN_OBJS += builtin/fast-export.o
1071+
BUILTIN_OBJS += builtin/fast-import.o
10721072
BUILTIN_OBJS += builtin/fetch-pack.o
10731073
BUILTIN_OBJS += builtin/fetch.o
10741074
BUILTIN_OBJS += builtin/fmt-merge-msg.o
@@ -2897,7 +2897,6 @@ ifdef MSVC
28972897
$(INSTALL) git.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
28982898
$(INSTALL) git-shell.pdb '$(DESTDIR_SQ)$(bindir_SQ)'
28992899
$(INSTALL) git-daemon.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
2900-
$(INSTALL) git-fast-import.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
29012900
$(INSTALL) git-http-backend.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
29022901
$(INSTALL) git-http-fetch.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
29032902
$(INSTALL) git-http-push.pdb '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'

builtin.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ int cmd_diff_tree(int argc, const char **argv, const char *prefix);
150150
int cmd_difftool(int argc, const char **argv, const char *prefix);
151151
int cmd_env__helper(int argc, const char **argv, const char *prefix);
152152
int cmd_fast_export(int argc, const char **argv, const char *prefix);
153+
int cmd_fast_import(int argc, const char **argv, const char *prefix);
153154
int cmd_fetch(int argc, const char **argv, const char *prefix);
154155
int cmd_fetch_pack(int argc, const char **argv, const char *prefix);
155156
int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);

fast-import.c renamed to builtin/fast-import.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3519,14 +3519,13 @@ static void parse_argv(void)
35193519
build_mark_map(&sub_marks_from, &sub_marks_to);
35203520
}
35213521

3522-
int cmd_main(int argc, const char **argv)
3522+
int cmd_fast_import(int argc, const char **argv, const char *prefix)
35233523
{
35243524
unsigned int i;
35253525

35263526
if (argc == 2 && !strcmp(argv[1], "-h"))
35273527
usage(fast_import_usage);
35283528

3529-
setup_git_directory();
35303529
reset_pack_idx_option(&pack_idx_opts);
35313530
git_pack_config();
35323531

contrib/buildsystems/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ unset(CMAKE_REQUIRED_INCLUDES)
501501

502502
#programs
503503
set(PROGRAMS_BUILT
504-
git git-daemon git-fast-import git-http-backend git-sh-i18n--envsubst
504+
git git-daemon git-http-backend git-sh-i18n--envsubst
505505
git-shell git-remote-testsvn)
506506

507507
if(NOT CURL_FOUND)
@@ -627,9 +627,6 @@ target_link_libraries(git common-main)
627627
add_executable(git-daemon ${CMAKE_SOURCE_DIR}/daemon.c)
628628
target_link_libraries(git-daemon common-main)
629629

630-
add_executable(git-fast-import ${CMAKE_SOURCE_DIR}/fast-import.c)
631-
target_link_libraries(git-fast-import common-main)
632-
633630
add_executable(git-http-backend ${CMAKE_SOURCE_DIR}/http-backend.c)
634631
target_link_libraries(git-http-backend common-main)
635632

git.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ static struct cmd_struct commands[] = {
511511
{ "difftool", cmd_difftool, RUN_SETUP_GENTLY },
512512
{ "env--helper", cmd_env__helper },
513513
{ "fast-export", cmd_fast_export, RUN_SETUP },
514+
{ "fast-import", cmd_fast_import, RUN_SETUP | NO_PARSEOPT },
514515
{ "fetch", cmd_fetch, RUN_SETUP },
515516
{ "fetch-pack", cmd_fetch_pack, RUN_SETUP | NO_PARSEOPT },
516517
{ "fmt-merge-msg", cmd_fmt_merge_msg, RUN_SETUP },

0 commit comments

Comments
 (0)