Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Wed, 25 Apr 2007 05:07:34 +0000 (22:07 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 25 Apr 2007 05:07:34 +0000 (22:07 -0700)
* maint:
Remove usernames from all commit messages, not just when using svmprops
applymbox & quiltimport: typofix.
Create a sysconfdir variable, and use it for ETC_GITCONFIG

1  2 
Makefile
diff --combined Makefile
index 65bd2dbf9d8089ba8c7bf20479605ef3b02b6a49,b61c5d4cd25395207096c0bc415847e43379eef1..60c41fd0d830f3c2b9e37d80800a9e7e6b3e7445
+++ b/Makefile
@@@ -110,14 -110,6 +110,14 @@@ all:
  # Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
  # MakeMaker (e.g. using ActiveState under Cygwin).
  #
 +# Define WITH_P4IMPORT to build and install Python git-p4import script.
 +#
 +# Define NO_TCLTK if you do not want Tcl/Tk GUI.
 +#
 +# The TCLTK_PATH variable governs the location of the Tck/Tk interpreter.
 +# If not set it defaults to the bare 'wish'. If it is set to the empty
 +# string then NO_TCLTK will be forced (this is used by configure script).
 +#
  
  GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
        @$(SHELL_PATH) ./GIT-VERSION-GEN
@@@ -141,7 -133,12 +141,12 @@@ prefix = $(HOME
  bindir = $(prefix)/bin
  gitexecdir = $(bindir)
  template_dir = $(prefix)/share/git-core/templates/
- ETC_GITCONFIG = $(prefix)/etc/gitconfig
+ ifeq ($(prefix),/usr)
+ sysconfdir = /etc
+ else
+ sysconfdir = $(prefix)/etc
+ endif
+ ETC_GITCONFIG = $(sysconfdir)/gitconfig
  # DESTDIR=
  
  # default configuration for gitweb
@@@ -160,14 -157,13 +165,14 @@@ GITWEB_FAVICON = git-favicon.pn
  GITWEB_SITE_HEADER =
  GITWEB_SITE_FOOTER =
  
- export prefix bindir gitexecdir template_dir
+ export prefix bindir gitexecdir template_dir sysconfdir
  
  CC = gcc
  AR = ar
  TAR = tar
  INSTALL = install
  RPMBUILD = rpmbuild
 +TCLTK_PATH = wish
  
  # sparse is architecture-neutral, which means that we need to tell it
  # explicitly what architecture to check for. Fix this up for yours..
@@@ -205,20 -201,9 +210,20 @@@ SCRIPT_PERL = 
        git-svnimport.perl git-cvsexportcommit.perl \
        git-send-email.perl git-svn.perl
  
 +SCRIPT_PYTHON = \
 +      git-p4import.py
 +
 +ifdef WITH_P4IMPORT
 +SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
 +        $(patsubst %.perl,%,$(SCRIPT_PERL)) \
 +        $(patsubst %.py,%,$(SCRIPT_PYTHON)) \
 +        git-status git-instaweb
 +else
  SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
          $(patsubst %.perl,%,$(SCRIPT_PERL)) \
          git-status git-instaweb
 +endif
 +
  
  # ... and all the rest that could be moved out of bindir to gitexecdir
  PROGRAMS = \
@@@ -251,14 -236,6 +256,14 @@@ BUILT_INS = 
  # what 'all' will build and 'install' will install, in gitexecdir
  ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
  
 +ALL_PROGRAMS += git-merge-subtree$X
 +
 +# what 'all' will build but not install in gitexecdir
 +OTHER_PROGRAMS = git$X gitweb/gitweb.cgi
 +ifndef NO_TCLTK
 +OTHER_PROGRAMS += gitk-wish
 +endif
 +
  # Backward compatibility -- to be removed after 1.0
  PROGRAMS += git-ssh-pull$X git-ssh-push$X
  
@@@ -269,9 -246,6 +274,9 @@@ endi
  ifndef PERL_PATH
        PERL_PATH = /usr/bin/perl
  endif
 +ifndef PYTHON_PATH
 +      PYTHON_PATH = /usr/local/bin/python
 +endif
  
  export PERL_PATH
  
@@@ -283,7 -257,7 +288,7 @@@ LIB_H = 
        diff.h object.h pack.h pkt-line.h quote.h refs.h list-objects.h sideband.h \
        run-command.h strbuf.h tag.h tree.h git-compat-util.h revision.h \
        tree-walk.h log-tree.h dir.h path-list.h unpack-trees.h builtin.h \
 -      utf8.h reflog-walk.h
 +      utf8.h reflog-walk.h patch-ids.h attr.h decorate.h progress.h
  
  DIFF_OBJS = \
        diff.o diff-lib.o diffcore-break.o diffcore-order.o \
@@@ -295,17 -269,16 +300,17 @@@ LIB_OBJS = 
        date.o diff-delta.o entry.o exec_cmd.o ident.o \
        interpolate.o \
        lockfile.o \
 +      patch-ids.o \
        object.o pack-check.o patch-delta.o path.o pkt-line.o sideband.o \
        reachable.o reflog-walk.o \
        quote.o read-cache.o refs.o run-command.o dir.o object-refs.o \
        server-info.o setup.o sha1_file.o sha1_name.o strbuf.o \
        tag.o tree.o usage.o config.o environment.o ctype.o copy.o \
        revision.o pager.o tree-walk.o xdiff-interface.o \
 -      write_or_die.o trace.o list-objects.o grep.o \
 +      write_or_die.o trace.o list-objects.o grep.o match-trees.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 \
 -      convert.o
 +      convert.o attr.o decorate.o progress.o
  
  BUILTIN_OBJS = \
        builtin-add.o \
        builtin-branch.o \
        builtin-bundle.o \
        builtin-cat-file.o \
 +      builtin-check-attr.o \
        builtin-checkout-index.o \
        builtin-check-ref-format.o \
        builtin-commit-tree.o \
@@@ -642,11 -614,7 +647,11 @@@ ifdef NO_PERL_MAKEMAKE
        export NO_PERL_MAKEMAKER
  endif
  
 -QUIET_SUBDIR0  = $(MAKE) -C # space to separate -C and subdir
 +ifeq ($(TCLTK_PATH),)
 +NO_TCLTK=NoThanks
 +endif
 +
 +QUIET_SUBDIR0  = +$(MAKE) -C # space to separate -C and subdir
  QUIET_SUBDIR1  =
  
  ifneq ($(findstring $(MAKEFLAGS),w),w)
@@@ -662,7 -630,7 +667,7 @@@ ifndef 
        QUIET_LINK     = @echo '   ' LINK $@;
        QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
        QUIET_GEN      = @echo '   ' GEN $@;
 -      QUIET_SUBDIR0  = @subdir=
 +      QUIET_SUBDIR0  = +@subdir=
        QUIET_SUBDIR1  = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
                         $(MAKE) $(PRINT_DIR) -C $$subdir
        export V
@@@ -684,8 -652,6 +689,8 @@@ prefix_SQ = $(subst ','\'',$(prefix)
  
  SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
  PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
 +PYTHON_PATH_SQ = $(subst ','\'',$(PYTHON_PATH))
 +TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
  
  LIBS = $(GITLIBS) $(EXTLIBS)
  
@@@ -701,27 -667,19 +706,27 @@@ export prefix gitexecdir TAR INSTALL DE
  
  ### Build rules
  
 -all:: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk gitweb/gitweb.cgi
 +all:: $(ALL_PROGRAMS) $(BUILT_INS) $(OTHER_PROGRAMS)
  ifneq (,$X)
        $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), rm -f '$p';)
  endif
  
  all::
 -      $(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) all
 +ifndef NO_TCLTK
 +      $(QUIET_SUBDIR0)git-gui $(QUIET_SUBDIR1) TCLTK_PATH='$(TCLTK_PATH_SQ)' all
 +endif
        $(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
  
 +gitk-wish: gitk GIT-GUI-VARS
 +      $(QUIET_GEN)rm -f $@ $@+ && \
 +      sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' <gitk >$@+ && \
 +      chmod +x $@+ && \
 +      mv -f $@+ $@
 +
  git$X: git.c common-cmds.h $(BUILTIN_OBJS) $(GITLIBS) GIT-CFLAGS
        $(QUIET_LINK)$(CC) -DGIT_VERSION='"$(GIT_VERSION)"' \
                $(ALL_CFLAGS) -o $@ $(filter %.c,$^) \
  
  help.o: common-cmds.h
  
 +git-merge-subtree$X: git-merge-recursive$X
 +      $(QUIET_BUILT_IN)rm -f $@ && ln git-merge-recursive$X $@
 +
  $(BUILT_INS): git$X
        $(QUIET_BUILT_IN)rm -f $@ && ln git$X $@
  
@@@ -750,15 -705,6 +755,15 @@@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %
  
  $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
  
 +$(patsubst %.py,%,$(SCRIPT_PYTHON)) : % : %.py
 +      rm -f $@ $@+
 +      sed -e '1s|#!.*/python|#!$(PYTHON_PATH_SQ)|' \
 +          -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
 +          -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
 +          $@.py >$@+
 +      chmod +x $@+
 +      mv $@+ $@
 +
  perl/perl.mak: GIT-CFLAGS
        $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
  
@@@ -912,20 -858,6 +917,20 @@@ GIT-CFLAGS: .FORCE-GIT-CFLAG
                echo "$$FLAGS" >GIT-CFLAGS; \
              fi
  
 +### Detect Tck/Tk interpreter path changes
 +ifndef NO_TCLTK
 +TRACK_VARS = $(subst ','\'',-DTCLTK_PATH='$(TCLTK_PATH_SQ)')
 +
 +GIT-GUI-VARS: .FORCE-GIT-GUI-VARS
 +      @VARS='$(TRACK_VARS)'; \
 +          if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
 +              echo 1>&2 "    * new Tcl/Tk interpreter location"; \
 +              echo "$$VARS" >$@; \
 +            fi
 +
 +.PHONY: .FORCE-GIT-GUI-VARS
 +endif
 +
  ### Testing rules
  
  # GNU make supports exporting all variables by "export" without parameters.
  
  export NO_SVN_TESTS
  
 -test: all test-chmtime$X
 +test: all test-chmtime$X test-genrandom$X
        $(MAKE) -C t/ all
  
  test-date$X: test-date.c date.o ctype.o
@@@ -949,15 -881,9 +954,15 @@@ 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-match-trees$X: test-match-trees.o $(GITLIBS)
 +      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
 +
  test-chmtime$X: test-chmtime.c
        $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $<
  
 +test-genrandom$X: test-genrandom.c
 +      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $<
 +
  check-sha1:: test-sha1$X
        ./test-sha1.sh
  
@@@ -972,13 -898,10 +977,13 @@@ install: al
        $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'
        $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
        $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
 -      $(INSTALL) git$X gitk '$(DESTDIR_SQ)$(bindir_SQ)'
 +      $(INSTALL) git$X '$(DESTDIR_SQ)$(bindir_SQ)'
        $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
        $(MAKE) -C perl prefix='$(prefix_SQ)' install
 +ifndef NO_TCLTK
 +      $(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
        $(MAKE) -C git-gui install
 +endif
        if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
        then \
                ln -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
@@@ -1033,10 -956,9 +1038,10 @@@ dist-doc
        gzip -n -9 -f $(htmldocs).tar
        :
        rm -fr .doc-tmp-dir
 -      mkdir .doc-tmp-dir .doc-tmp-dir/man1 .doc-tmp-dir/man7
 +      mkdir -p .doc-tmp-dir/man1 .doc-tmp-dir/man5 .doc-tmp-dir/man7
        $(MAKE) -C Documentation DESTDIR=./ \
                man1dir=../.doc-tmp-dir/man1 \
 +              man5dir=../.doc-tmp-dir/man5 \
                man7dir=../.doc-tmp-dir/man7 \
                install
        cd .doc-tmp-dir && $(TAR) cf ../$(manpages).tar .
  
  clean:
        rm -f *.o mozilla-sha1/*.o arm/*.o ppc/*.o compat/*.o xdiff/*.o \
 -              test-chmtime$X $(LIB_FILE) $(XDIFF_LIB)
 +              test-chmtime$X test-genrandom$X $(LIB_FILE) $(XDIFF_LIB)
        rm -f $(ALL_PROGRAMS) $(BUILT_INS) git$X
        rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
        rm -rf autom4te.cache
        rm -f gitweb/gitweb.cgi
        $(MAKE) -C Documentation/ clean
        $(MAKE) -C perl clean
 -      $(MAKE) -C git-gui clean
        $(MAKE) -C templates/ clean
        $(MAKE) -C t/ clean
 -      rm -f GIT-VERSION-FILE GIT-CFLAGS
 +ifndef NO_TCLTK
 +      rm -f gitk-wish
 +      $(MAKE) -C git-gui clean
 +endif
 +      rm -f GIT-VERSION-FILE GIT-CFLAGS GIT-GUI-VARS
  
  .PHONY: all install clean strip
  .PHONY: .FORCE-GIT-VERSION-FILE TAGS tags .FORCE-GIT-CFLAGS