Merge branch 'jc/mktree' into sb/opt-filename
authorJunio C Hamano <gitster@pobox.com>
Mon, 25 May 2009 08:04:10 +0000 (01:04 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 25 May 2009 08:04:10 +0000 (01:04 -0700)
* 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

1  2 
Makefile
diff --combined Makefile
index eaae45db7cded397eb109d81f6dbf6b8c8a2bc69,9d9f0dac27cd1ad06e3c65f43d572ff69b1417ba..ab6f6e14ebba10641348c3562094ac27032caf87
+++ 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 \