From: Junio C Hamano Date: Sun, 17 Feb 2008 02:11:10 +0000 (-0800) Subject: Merge branch 'bd/qsort' X-Git-Tag: v1.5.5-rc0~205 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/f8732c5596eb58d0daafdd61355e59831a95ae2e?ds=inline;hp=-c Merge branch 'bd/qsort' * bd/qsort: compat: Add simplified merge sort implementation from glibc --- f8732c5596eb58d0daafdd61355e59831a95ae2e diff --combined Makefile index d288378aa1,fb82d14dab..83c359acde --- a/Makefile +++ b/Makefile @@@ -137,6 -137,10 +137,10 @@@ all: # Define THREADED_DELTA_SEARCH if you have pthreads and wish to exploit # parallel delta searching when packing objects. # + # Define INTERNAL_QSORT to use Git's implementation of qsort(), which + # is a simplified version of the merge sort used in glibc. This is + # recommended if Git triggers O(n^2) behavior in your platform's qsort(). + # GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @$(SHELL_PATH) ./GIT-VERSION-GEN @@@ -231,7 -235,7 +235,7 @@@ SCRIPT_SH = git-lost-found.sh git-quiltimport.sh git-submodule.sh \ git-filter-branch.sh \ git-stash.sh \ - git-help--browse.sh + git-web--browse.sh SCRIPT_PERL = \ git-add--interactive.perl \ @@@ -722,6 -726,10 +726,10 @@@ ifdef NO_MEMME COMPAT_CFLAGS += -DNO_MEMMEM COMPAT_OBJS += compat/memmem.o endif + ifdef INTERNAL_QSORT + COMPAT_CFLAGS += -DINTERNAL_QSORT + COMPAT_OBJS += compat/qsort.o + endif ifdef THREADED_DELTA_SEARCH BASIC_CFLAGS += -DTHREADED_DELTA_SEARCH @@@ -819,7 -827,6 +827,7 @@@ git$X: git.o $(BUILTIN_OBJS) $(GITLIBS help.o: help.c common-cmds.h GIT-CFLAGS $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) \ + '-DGIT_HTML_PATH="$(htmldir_SQ)"' \ '-DGIT_MAN_PATH="$(mandir_SQ)"' \ '-DGIT_INFO_PATH="$(infodir_SQ)"' $< @@@ -840,6 -847,7 +848,6 @@@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : % -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ -e 's/@@NO_CURL@@/$(NO_CURL)/g' \ - -e 's|@@HTMLDIR@@|$(htmldir_SQ)|g' \ $@.sh >$@+ && \ chmod +x $@+ && \ mv $@+ $@