Merge branch 'maint'
authorJunio C Hamano <junkio@cox.net>
Sat, 7 Apr 2007 08:30:43 +0000 (01:30 -0700)
committerJunio C Hamano <junkio@cox.net>
Sat, 7 Apr 2007 08:30:43 +0000 (01:30 -0700)
* maint:
Documentation: tighten dependency for git.{html,txt}
Makefile: iconv() on Darwin has the old interface
t5300-pack-object.sh: portability issue using /usr/bin/stat
t3200-branch.sh: small language nit
usermanual.txt: some capitalization nits
Make builtin-branch.c handle the git config file
rename_ref(): only print a warning when config-file update fails
Distinguish branches by more than case in tests.
Avoid composing too long "References" header.
cvsimport: Improve formating consistency
cvsimport: Reorder options in documentation for better understanding
cvsimport: Improve usage error reporting
cvsimport: Improve documentation of CVSROOT and CVS module determination
cvsimport: sync usage lines with existing options

Conflicts:

Documentation/Makefile

1  2 
Documentation/Makefile
Makefile
diff --combined Documentation/Makefile
index e82596dcdf0545d528806797c990e101d40f1436,ad87736b0c0fbbaf6d2271fd66148f9e483c57bd..a637d8d559b6a41505e5381b92d523e55f4b3be8
@@@ -65,11 -65,6 +65,11 @@@ install: ma
        $(INSTALL) -m644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
  
  
 +../GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
 +      $(MAKE) -C ../ GIT-VERSION-FILE
 +
 +-include ../GIT-VERSION-FILE
 +
  #
  # Determine "include::" file references in asciidoc files.
  #
@@@ -90,31 -85,26 +90,34 @@@ cmds_txt = cmds-ancillaryinterrogators.
        cmds-purehelpers.txt \
        cmds-foreignscminterface.txt
  
- $(cmds_txt): cmd-list.perl $(MAN1_TXT)
+ $(cmds_txt): cmd-list.made
+ cmd-list.made: cmd-list.perl $(MAN1_TXT)
        perl ./cmd-list.perl
+       date >$@
  
  git.7 git.html: git.txt core-intro.txt
  
  clean:
 -      rm -f *.xml *.html *.1 *.7 howto-index.txt howto/*.html doc.dep
 +      rm -f *.xml *.xml+ *.html *.html+ *.1 *.7 howto-index.txt howto/*.html doc.dep
-       rm -f $(cmds_txt)
+       rm -f $(cmds_txt) *.made
  
  %.html : %.txt
 -      $(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf $(ASCIIDOC_EXTRA) $<
 +      rm -f $@+ $@
 +      $(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf \
 +              $(ASCIIDOC_EXTRA) -o - $< | \
 +              sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' >$@+
 +      mv $@+ $@
  
  %.1 %.7 : %.xml
        xmlto -m callouts.xsl man $<
  
  %.xml : %.txt
 -      $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf $<
 +      rm -f $@+ $@
 +      $(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
 +              $(ASCIIDOC_EXTRA) -o - $< | \
 +              sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' >$@+
 +      mv $@+ $@
  
  user-manual.xml: user-manual.txt user-manual.conf
        $(ASCIIDOC) -b docbook -d book $<
@@@ -145,5 -135,3 +148,5 @@@ install-webdoc : htm
  
  quick-install:
        sh ./install-doc-quick.sh $(DOC_REF) $(mandir)
 +
 +.PHONY: .FORCE-GIT-VERSION-FILE
diff --combined Makefile
index 45dbcf6edff9d907836aa2208dd59c12c4b6ec03,dcdaa02e473710810993ea8d08de444ec4332620..ba214589cb35ae517c67ff2c1428efd81032e56e
+++ 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
@@@ -167,7 -159,6 +167,7 @@@ AR = a
  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 -196,9 +205,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,12 -231,6 +251,12 @@@ BUILT_INS = 
  # what 'all' will build and 'install' will install, in gitexecdir
  ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
  
 +# 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
  
@@@ -267,9 -241,6 +267,9 @@@ endi
  ifndef PERL_PATH
        PERL_PATH = /usr/bin/perl
  endif
 +ifndef PYTHON_PATH
 +      PYTHON_PATH = /usr/local/bin/python
 +endif
  
  export PERL_PATH
  
@@@ -385,6 -356,7 +385,7 @@@ endi
  ifeq ($(uname_S),Darwin)
        NEEDS_SSL_WITH_CRYPTO = YesPlease
        NEEDS_LIBICONV = YesPlease
+       OLD_ICONV = UnfortunatelyYes
        NO_STRLCPY = YesPlease
  endif
  ifeq ($(uname_S),SunOS)
@@@ -637,10 -609,6 +638,10 @@@ ifdef NO_PERL_MAKEMAKE
        export NO_PERL_MAKEMAKER
  endif
  
 +ifeq ($(TCLTK_PATH),)
 +NO_TCLTK=NoThanks
 +endif
 +
  QUIET_SUBDIR0  = $(MAKE) -C # space to separate -C and subdir
  QUIET_SUBDIR1  =
  
@@@ -679,8 -647,6 +680,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)
  
@@@ -696,27 -662,19 +697,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,$^) \
@@@ -742,15 -700,6 +743,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)
  
@@@ -904,20 -853,6 +905,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.
@@@ -958,13 -893,10 +959,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' \
@@@ -1043,13 -975,10 +1044,13 @@@ clean
        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