Code

Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Tue, 13 Mar 2007 06:13:01 +0000 (23:13 -0700)
committerJunio C Hamano <junkio@cox.net>
Tue, 13 Mar 2007 06:13:01 +0000 (23:13 -0700)
* maint:
  Don't package the git-gui credits file anymore
  git-gui: Allow 'git gui version' outside of a repository
  git-gui: Revert "git-gui: Display all authors of git-gui."
  git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
  git-gui: Allow committing empty merges

1  2 
Makefile

diff --combined Makefile
index 084b7fe1775c0527c724dd39bd710005e40499c7,eeb502fa54b3bbd88ab838ce8656976fbdbed103..1a51f84f53e3b658f397721b7ccd97fcc8cf370b
+++ b/Makefile
@@@ -1,8 -1,6 +1,8 @@@
  # The default target of this Makefile is...
  all::
  
 +# Define V=1 to have a more verbose compile.
 +#
  # Define NO_OPENSSL environment variable if you do not have OpenSSL.
  # This also implies MOZILLA_SHA1.
  #
@@@ -133,7 -131,6 +133,7 @@@ prefix = $(HOME
  bindir = $(prefix)/bin
  gitexecdir = $(bindir)
  template_dir = $(prefix)/share/git-core/templates/
 +ETC_GITCONFIG = $(prefix)/etc/gitconfig
  # DESTDIR=
  
  # default configuration for gitweb
@@@ -182,7 -179,7 +182,7 @@@ SCRIPT_SH = 
        git-merge-one-file.sh git-parse-remote.sh \
        git-pull.sh git-rebase.sh \
        git-repack.sh git-request-pull.sh git-reset.sh \
 -      git-resolve.sh git-revert.sh git-sh-setup.sh \
 +      git-sh-setup.sh \
        git-tag.sh git-verify-tag.sh \
        git-applymbox.sh git-applypatch.sh git-am.sh \
        git-merge.sh git-merge-stupid.sh git-merge-octopus.sh \
@@@ -198,7 -195,7 +198,7 @@@ SCRIPT_PERL = 
  
  SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
          $(patsubst %.perl,%,$(SCRIPT_PERL)) \
 -        git-cherry-pick git-status git-instaweb
 +        git-status git-instaweb
  
  # ... and all the rest that could be moved out of bindir to gitexecdir
  PROGRAMS = \
@@@ -225,7 -222,7 +225,7 @@@ EXTRA_PROGRAMS 
  BUILT_INS = \
        git-format-patch$X git-show$X git-whatchanged$X git-cherry$X \
        git-get-tar-commit-id$X git-init$X git-repo-config$X \
 -      git-fsck-objects$X \
 +      git-fsck-objects$X git-cherry-pick$X \
        $(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
  
  # what 'all' will build and 'install' will install, in gitexecdir
@@@ -272,8 -269,7 +272,8 @@@ LIB_OBJS = 
        revision.o pager.o tree-walk.o xdiff-interface.o \
        write_or_die.o trace.o list-objects.o grep.o \
        alloc.o merge-file.o path-list.o help.o unpack-trees.o $(DIFF_OBJS) \
 -      color.o wt-status.o archive-zip.o archive-tar.o shallow.o utf8.o
 +      color.o wt-status.o archive-zip.o archive-tar.o shallow.o utf8.o \
 +      convert.o
  
  BUILTIN_OBJS = \
        builtin-add.o \
        builtin-archive.o \
        builtin-blame.o \
        builtin-branch.o \
 +      builtin-bundle.o \
        builtin-cat-file.o \
        builtin-checkout-index.o \
        builtin-check-ref-format.o \
        builtin-diff.o \
        builtin-diff-files.o \
        builtin-diff-index.o \
 -      builtin-diff-stages.o \
        builtin-diff-tree.o \
        builtin-fmt-merge-msg.o \
        builtin-for-each-ref.o \
        builtin-ls-tree.o \
        builtin-mailinfo.o \
        builtin-mailsplit.o \
 +      builtin-merge-base.o \
        builtin-merge-file.o \
        builtin-mv.o \
        builtin-name-rev.o \
        builtin-rerere.o \
        builtin-rev-list.o \
        builtin-rev-parse.o \
 +      builtin-revert.o \
        builtin-rm.o \
        builtin-runstatus.o \
        builtin-shortlog.o \
@@@ -606,35 -600,9 +606,35 @@@ ifdef NO_PERL_MAKEMAKE
        export NO_PERL_MAKEMAKER
  endif
  
 +QUIET_SUBDIR0  = $(MAKE) -C # space to separate -C and subdir
 +QUIET_SUBDIR1  =
 +
 +ifneq ($(findstring $(MAKEFLAGS),w),w)
 +PRINT_DIR = --no-print-directory
 +else # "make -w"
 +NO_SUBDIR = :
 +endif
 +
 +ifneq ($(findstring $(MAKEFLAGS),s),s)
 +ifndef V
 +      QUIET_CC       = @echo '   ' CC $@;
 +      QUIET_AR       = @echo '   ' AR $@;
 +      QUIET_LINK     = @echo '   ' LINK $@;
 +      QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
 +      QUIET_GEN      = @echo '   ' GEN $@;
 +      QUIET_SUBDIR0  = @subdir=
 +      QUIET_SUBDIR1  = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
 +                       $(MAKE) $(PRINT_DIR) -C $$subdir
 +      export V
 +      export QUIET_GEN
 +      export QUIET_BUILT_IN
 +endif
 +endif
 +
  # Shell quote (do not use $(call) to accommodate ancient setups);
  
  SHA1_HEADER_SQ = $(subst ','\'',$(SHA1_HEADER))
 +ETC_GITCONFIG_SQ = $(subst ','\'',$(ETC_GITCONFIG))
  
  DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
  bindir_SQ = $(subst ','\'',$(bindir))
@@@ -647,8 -615,7 +647,8 @@@ PERL_PATH_SQ = $(subst ','\'',$(PERL_PA
  
  LIBS = $(GITLIBS) $(EXTLIBS)
  
 -BASIC_CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER_SQ)' $(COMPAT_CFLAGS)
 +BASIC_CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER_SQ)' \
 +      -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"' $(COMPAT_CFLAGS)
  LIB_OBJS += $(COMPAT_OBJS)
  
  ALL_CFLAGS += $(BASIC_CFLAGS)
@@@ -665,43 -632,44 +665,43 @@@ ifneq (,$X
  endif
  
  all::
 -      $(MAKE) -C git-gui all
 -      $(MAKE) -C perl PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' all
 -      $(MAKE) -C templates
 +      $(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) all
 +      $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' all
 +      $(QUIET_SUBDIR0)templates $(QUIET_SUBDIR1)
  
  strip: $(PROGRAMS) git$X
        $(STRIP) $(STRIP_OPTS) $(PROGRAMS) git$X
  
  git$X: git.c common-cmds.h $(BUILTIN_OBJS) $(GITLIBS) GIT-CFLAGS
 -      $(CC) -DGIT_VERSION='"$(GIT_VERSION)"' \
 +      $(QUIET_LINK)$(CC) -DGIT_VERSION='"$(GIT_VERSION)"' \
                $(ALL_CFLAGS) -o $@ $(filter %.c,$^) \
                $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
  
  help.o: common-cmds.h
  
  $(BUILT_INS): git$X
 -      rm -f $@ && ln git$X $@
 +      $(QUIET_BUILT_IN)rm -f $@ && ln git$X $@
  
  common-cmds.h: Documentation/git-*.txt
 -      ./generate-cmdlist.sh > $@+
 -      mv $@+ $@
 +      $(QUIET_GEN)./generate-cmdlist.sh > $@+ && mv $@+ $@
  
  $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
 -      rm -f $@ $@+
 +      $(QUIET_GEN)rm -f $@ $@+ && \
        sed -e '1s|#!.*/sh|#!$(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 >$@+
 -      chmod +x $@+
 +          $@.sh >$@+ && \
 +      chmod +x $@+ && \
        mv $@+ $@
  
  $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
  
  perl/perl.mak: GIT-CFLAGS
 -      $(MAKE) -C perl PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
 +      $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
  
  $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
 -      rm -f $@ $@+
 +      $(QUIET_GEN)rm -f $@ $@+ && \
        INSTLIBDIR=`$(MAKE) -C perl -s --no-print-directory instlibdir` && \
        sed -e '1{' \
            -e '        s|#!.*perl|#!$(PERL_PATH_SQ)|' \
            -e '}' \
            -e 's|@@INSTLIBDIR@@|'"$$INSTLIBDIR"'|g' \
            -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
 -          $@.perl >$@+
 -      chmod +x $@+
 -      mv $@+ $@
 -
 -git-cherry-pick: git-revert
 -      cp $< $@+
 +          $@.perl >$@+ && \
 +      chmod +x $@+ && \
        mv $@+ $@
  
  git-status: git-commit
 -      cp $< $@+
 -      mv $@+ $@
 +      $(QUIET_GEN)cp $< $@+ && mv $@+ $@
  
  gitweb/gitweb.cgi: gitweb/gitweb.perl
 -      rm -f $@ $@+
 +      $(QUIET_GEN)rm -f $@ $@+ && \
        sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
            -e 's|++GIT_VERSION++|$(GIT_VERSION)|g' \
            -e 's|++GIT_BINDIR++|$(bindir)|g' \
            -e 's|++GITWEB_FAVICON++|$(GITWEB_FAVICON)|g' \
            -e 's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \
            -e 's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \
 -          $< >$@+
 -      chmod +x $@+
 +          $< >$@+ && \
 +      chmod +x $@+ && \
        mv $@+ $@
  
  git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
 -      rm -f $@ $@+
 +      $(QUIET_GEN)rm -f $@ $@+ && \
        sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
            -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
            -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
            -e '/@@GITWEB_CGI@@/d' \
            -e '/@@GITWEB_CSS@@/r gitweb/gitweb.css' \
            -e '/@@GITWEB_CSS@@/d' \
 -          $@.sh > $@+
 -      chmod +x $@+
 +          $@.sh > $@+ && \
 +      chmod +x $@+ && \
        mv $@+ $@
  
  configure: configure.ac
 -      rm -f $@ $<+
 +      $(QUIET_GEN)rm -f $@ $<+ && \
        sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
 -          $< > $<+
 -      autoconf -o $@ $<+
 +          $< > $<+ && \
 +      autoconf -o $@ $<+ && \
        rm -f $<+
  
  # These can record GIT_VERSION
@@@ -769,25 -742,25 +769,25 @@@ git$X git.spec 
        : GIT-VERSION-FILE
  
  %.o: %.c GIT-CFLAGS
 -      $(CC) -o $*.o -c $(ALL_CFLAGS) $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<
  %.o: %.S
 -      $(CC) -o $*.o -c $(ALL_CFLAGS) $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $<
  
  exec_cmd.o: exec_cmd.c GIT-CFLAGS
 -      $(CC) -o $*.o -c $(ALL_CFLAGS) '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' $<
  builtin-init-db.o: builtin-init-db.c GIT-CFLAGS
 -      $(CC) -o $*.o -c $(ALL_CFLAGS) -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"' $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"' $<
  
  http.o: http.c GIT-CFLAGS
 -      $(CC) -o $*.o -c $(ALL_CFLAGS) -DGIT_USER_AGENT='"git/$(GIT_VERSION)"' $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DGIT_USER_AGENT='"git/$(GIT_VERSION)"' $<
  
  ifdef NO_EXPAT
  http-fetch.o: http-fetch.c http.h GIT-CFLAGS
 -      $(CC) -o $*.o -c $(ALL_CFLAGS) -DNO_EXPAT $<
 +      $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DNO_EXPAT $<
  endif
  
  git-%$X: %.o $(GITLIBS)
 -      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
 +      $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
  
  ssh-pull.o: ssh-fetch.c
  ssh-push.o: ssh-upload.c
@@@ -801,11 -774,11 +801,11 @@@ git-imap-send$X: imap-send.o $(LIB_FILE
  
  http.o http-fetch.o http-push.o: http.h
  git-http-fetch$X: fetch.o http.o http-fetch.o $(GITLIBS)
 -      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
 +      $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
                $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
  
  git-http-push$X: revision.o http.o http-push.o $(GITLIBS)
 -      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
 +      $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
                $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
  
  $(LIB_OBJS) $(BUILTIN_OBJS) fetch.o: $(LIB_H)
@@@ -813,7 -786,7 +813,7 @@@ $(patsubst git-%$X,%.o,$(PROGRAMS)): $(
  $(DIFF_OBJS): diffcore.h
  
  $(LIB_FILE): $(LIB_OBJS)
 -      rm -f $@ && $(AR) rcs $@ $(LIB_OBJS)
 +      $(QUIET_AR)rm -f $@ && $(AR) rcs $@ $(LIB_OBJS)
  
  XDIFF_OBJS=xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o \
        xdiff/xmerge.o
@@@ -821,7 -794,7 +821,7 @@@ $(XDIFF_OBJS): xdiff/xinclude.h xdiff/x
        xdiff/xutils.h xdiff/xprepare.h xdiff/xdiffi.h xdiff/xemit.h
  
  $(XDIFF_LIB): $(XDIFF_OBJS)
 -      rm -f $@ && $(AR) rcs $@ $(XDIFF_OBJS)
 +      $(QUIET_AR)rm -f $@ && $(AR) rcs $@ $(XDIFF_OBJS)
  
  
  perl/Makefile: perl/Git.pm perl/Makefile.PL GIT-CFLAGS
@@@ -858,7 -831,7 +858,7 @@@ GIT-CFLAGS: .FORCE-GIT-CFLAG
  
  export NO_SVN_TESTS
  
 -test: all
 +test: all test-chmtime$X
        $(MAKE) -C t/ all
  
  test-date$X: test-date.c date.o ctype.o
@@@ -873,9 -846,6 +873,9 @@@ test-dump-cache-tree$X: dump-cache-tree
  test-sha1$X: test-sha1.o $(GITLIBS)
        $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
  
 +test-chmtime$X: test-chmtime.c
 +      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $<
 +
  check-sha1:: test-sha1$X
        ./test-sha1.sh
  
@@@ -931,8 -901,7 +931,7 @@@ dist: git.spec git-archiv
        $(TAR) rf $(GIT_TARNAME).tar \
                $(GIT_TARNAME)/git.spec \
                $(GIT_TARNAME)/version \
-               $(GIT_TARNAME)/git-gui/version \
-               $(GIT_TARNAME)/git-gui/credits
+               $(GIT_TARNAME)/git-gui/version
        @rm -rf $(GIT_TARNAME)
        gzip -f -9 $(GIT_TARNAME).tar