From: Junio C Hamano Date: Mon, 25 May 2009 08:04:10 +0000 (-0700) Subject: Merge branch 'jc/mktree' into sb/opt-filename X-Git-Tag: v1.6.4-rc0~94^2~2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/3d09e64ac10aab1ae6ae1ac9cce7a6ebb43f2e50?hp=-c Merge branch 'jc/mktree' into sb/opt-filename * jc/mktree: mktree: validate entry type in input mktree --batch: build more than one tree object mktree --missing: updated usage message and man page mktree --missing: allow missing objects t1010: add mktree test mktree: do not barf on a submodule commit builtin-mktree.c: use a helper function to handle one line of input mktree: use parse-options build-in git-mktree --- 3d09e64ac10aab1ae6ae1ac9cce7a6ebb43f2e50 diff --combined Makefile index eaae45db7c,9d9f0dac27..ab6f6e14eb --- a/Makefile +++ b/Makefile @@@ -175,9 -175,6 +175,9 @@@ all: # Define OBJECT_CREATION_USES_RENAMES if your operating systems has problems # when hardlinking a file to another name and unlinking the original file right # away (some NTFS drivers seem to zero the contents in that scenario). +# +# Define NO_CROSS_DIRECTORY_HARDLINKS if you plan to distribute the installed +# programs as a tar, where bin/ and libexec/ might be on different file systems. GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @$(SHELL_PATH) ./GIT-VERSION-GEN @@@ -228,7 -225,6 +228,7 @@@ ETC_GITCONFIG = etc/gitconfi endif lib = lib # DESTDIR= +pathsep = : # default configuration for gitweb GITWEB_CONFIG = gitweb_config.perl @@@ -336,7 -332,6 +336,6 @@@ PROGRAMS += git-index-pack$ PROGRAMS += git-merge-index$X PROGRAMS += git-merge-tree$X PROGRAMS += git-mktag$X - PROGRAMS += git-mktree$X PROGRAMS += git-pack-redundant$X PROGRAMS += git-patch-id$X PROGRAMS += git-shell$X @@@ -590,6 -585,7 +589,7 @@@ BUILTIN_OBJS += builtin-merge-base. BUILTIN_OBJS += builtin-merge-file.o BUILTIN_OBJS += builtin-merge-ours.o BUILTIN_OBJS += builtin-merge-recursive.o + BUILTIN_OBJS += builtin-mktree.o BUILTIN_OBJS += builtin-mv.o BUILTIN_OBJS += builtin-name-rev.o BUILTIN_OBJS += builtin-pack-objects.o @@@ -753,7 -749,6 +753,7 @@@ endi ifeq ($(uname_S),OpenBSD) NO_STRCASESTR = YesPlease NO_MEMMEM = YesPlease + USE_ST_TIMESPEC = YesPlease NEEDS_LIBICONV = YesPlease BASIC_CFLAGS += -I/usr/local/include BASIC_LDFLAGS += -L/usr/local/lib @@@ -817,7 -812,6 +817,7 @@@ ifneq (,$(findstring CYGWIN,$(uname_S)) UNRELIABLE_FSTAT = UnfortunatelyYes endif ifneq (,$(findstring MINGW,$(uname_S))) + pathsep = ; NO_PREAD = YesPlease NO_OPENSSL = YesPlease NO_CURL = YesPlease @@@ -1254,6 -1248,7 +1254,6 @@@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : % $(QUIET_GEN)$(RM) $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \ - -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ -e 's/@@NO_CURL@@/$(NO_CURL)/g' \ $@.sh >$@+ && \ @@@ -1272,7 -1267,7 +1272,7 @@@ $(patsubst %.perl,%,$(SCRIPT_PERL)): % sed -e '1{' \ -e ' s|#!.*perl|#!$(PERL_PATH_SQ)|' \ -e ' h' \ - -e ' s=.*=use lib (split(/:/, $$ENV{GITPERLLIB} || "@@INSTLIBDIR@@"));=' \ + -e ' s=.*=use lib (split(/$(pathsep)/, $$ENV{GITPERLLIB} || "@@INSTLIBDIR@@"));=' \ -e ' H' \ -e ' x' \ -e '}' \ @@@ -1554,7 -1549,6 +1554,7 @@@ endi bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \ execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \ { $(RM) "$$execdir/git-add$X" && \ + test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \ ln "$$bindir/git$X" "$$execdir/git-add$X" 2>/dev/null || \ cp "$$bindir/git$X" "$$execdir/git-add$X"; } && \ { for p in $(filter-out git-add$X,$(BUILT_INS)); do \