summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile14
-rw-r--r--archive.h2
-rw-r--r--builtin-apply.c2
-rw-r--r--builtin-archive.c23
4 files changed, 15 insertions, 26 deletions
diff --git a/Makefile b/Makefile
index 1cc9f586d6..7c3860a52e 100644
--- a/Makefile
+++ b/Makefile
@@ -187,15 +187,12 @@ SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
$(patsubst %.py,%,$(SCRIPT_PYTHON)) \
git-cherry-pick git-status git-instaweb
-# The ones that do not have to link with lcrypto, lz nor xdiff.
-SIMPLE_PROGRAMS = \
- git-daemon$X
-
# ... and all the rest that could be moved out of bindir to gitexecdir
PROGRAMS = \
git-convert-objects$X git-fetch-pack$X git-fsck-objects$X \
git-hash-object$X git-index-pack$X git-local-fetch$X \
git-merge-base$X \
+ git-daemon$X \
git-merge-index$X git-mktag$X git-mktree$X git-patch-id$X \
git-peek-remote$X git-receive-pack$X \
git-send-pack$X git-shell$X \
@@ -217,7 +214,7 @@ BUILT_INS = \
$(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
# what 'all' will build and 'install' will install, in gitexecdir
-ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS) \
+ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS) \
git-merge-recur$X
# Backward compatibility -- to be removed after 1.0
@@ -486,11 +483,9 @@ ifdef NEEDS_LIBICONV
endif
ifdef NEEDS_SOCKET
EXTLIBS += -lsocket
- SIMPLE_LIB += -lsocket
endif
ifdef NEEDS_NSL
EXTLIBS += -lnsl
- SIMPLE_LIB += -lnsl
endif
ifdef NO_D_TYPE_IN_DIRENT
BASIC_CFLAGS += -DNO_D_TYPE_IN_DIRENT
@@ -737,11 +732,6 @@ endif
git-%$X: %.o $(GITLIBS)
$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
-$(SIMPLE_PROGRAMS) : $(LIB_FILE)
-$(SIMPLE_PROGRAMS) : git-%$X : %.o
- $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
- $(LIB_FILE) $(SIMPLE_LIB)
-
ssh-pull.o: ssh-fetch.c
ssh-push.o: ssh-upload.c
git-local-fetch$X: fetch.o
diff --git a/archive.h b/archive.h
index 16dcdb875c..6838dc788f 100644
--- a/archive.h
+++ b/archive.h
@@ -25,8 +25,6 @@ struct archiver {
parse_extra_args_fn_t parse_extra;
};
-extern struct archiver archivers[];
-
extern int parse_archive_args(int argc,
const char **argv,
struct archiver *ar);
diff --git a/builtin-apply.c b/builtin-apply.c
index db7cdce1d3..aad55261fa 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c
@@ -43,7 +43,7 @@ static int apply_verbosely;
static int no_add;
static int show_index_info;
static int line_termination = '\n';
-static unsigned long p_context = -1;
+static unsigned long p_context = ULONG_MAX;
static const char apply_usage[] =
"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--cached] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [--reverse] [--reject] [--verbose] [-z] [-pNUM] [-CNUM] [--whitespace=<nowarn|warn|error|error-all|strip>] <patch>...";
diff --git a/builtin-archive.c b/builtin-archive.c
index 9177379122..2df1a84b85 100644
--- a/builtin-archive.c
+++ b/builtin-archive.c
@@ -15,16 +15,14 @@
static const char archive_usage[] = \
"git-archive --format=<fmt> [--prefix=<prefix>/] [--verbose] [<extra>] <tree-ish> [path...]";
-struct archiver archivers[] = {
- {
- .name = "tar",
- .write_archive = write_tar_archive,
- },
- {
- .name = "zip",
- .write_archive = write_zip_archive,
- .parse_extra = parse_extra_zip_args,
- },
+static struct archiver_desc
+{
+ const char *name;
+ write_archive_fn_t write_archive;
+ parse_extra_args_fn_t parse_extra;
+} archivers[] = {
+ { "tar", write_tar_archive, NULL },
+ { "zip", write_zip_archive, parse_extra_zip_args },
};
static int run_remote_archiver(const char *remote, int argc,
@@ -88,7 +86,10 @@ static int init_archiver(const char *name, struct archiver *ar)
for (i = 0; i < ARRAY_SIZE(archivers); i++) {
if (!strcmp(name, archivers[i].name)) {
- memcpy(ar, &archivers[i], sizeof(struct archiver));
+ memset(ar, 0, sizeof(*ar));
+ ar->name = archivers[i].name;
+ ar->write_archive = archivers[i].write_archive;
+ ar->parse_extra = archivers[i].parse_extra;
rv = 0;
break;
}