Merge branch 'lt/web'
authorJunio C Hamano <junkio@cox.net>
Sun, 13 Aug 2006 02:24:09 +0000 (19:24 -0700)
committerJunio C Hamano <junkio@cox.net>
Sun, 13 Aug 2006 02:24:09 +0000 (19:24 -0700)
1  2 
.gitignore
Makefile
diff --combined .gitignore
index 6e973b3d4bd107fb77df6b9394b87a7b79d96e0e,20df1f8b2fe3616cb220edef5c738daee96d46ce..55cd9844d61e202670076968b20dcb0fda68732e
@@@ -125,6 -125,7 +125,7 @@@ git-verify-ta
  git-whatchanged
  git-write-tree
  git-core-*/?*
+ gitweb/gitweb.cgi
  test-date
  test-delta
  test-dump-cache-tree
@@@ -140,7 -141,7 +141,7 @@@ config.ma
  autom4te.cache
  config.log
  config.status
 -config.mak.in
  config.mak.autogen
 +config.mak.append
  configure
  git-blame
diff --combined Makefile
index f9f7660cf1a0f1df7ac6cdf6293d9459bc5f1738,3816ef7971ca6ca891d5b1c90f8d4829df17e191..5f4bb8d8f8963b31a1a8e48c2f6fb6ed01db3673
+++ b/Makefile
@@@ -24,11 -24,6 +24,11 @@@ all
  # Define NO_D_TYPE_IN_DIRENT if your platform defines DT_UNKNOWN but lacks
  # d_type in struct dirent (latest Cygwin -- will be fixed soonish).
  #
 +# Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)
 +# do not support the 'size specifiers' introduced by C99, namely ll, hh,
 +# j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).
 +# some C compilers supported these specifiers prior to C99 as an extension.
 +#
  # Define NO_STRCASESTR if you don't have strcasestr.
  #
  # Define NO_STRLCPY if you don't have strlcpy.
@@@ -121,6 -116,15 +121,15 @@@ template_dir = $(prefix)/share/git-core
  GIT_PYTHON_DIR = $(prefix)/share/git-core/python
  # DESTDIR=
  
+ # default configuration for gitweb
+ GITWEB_CONFIG = gitweb_config.perl
+ GITWEB_SITENAME =
+ GITWEB_PROJECTROOT = /pub/git
+ GITWEB_LIST =
+ GITWEB_HOMETEXT = indextext.html
+ GITWEB_CSS = gitweb.css
+ GITWEB_LOGO = git-logo.png
  export prefix bindir gitexecdir template_dir GIT_PYTHON_DIR
  
  CC = gcc
@@@ -173,23 -177,31 +182,23 @@@ SIMPLE_PROGRAMS = 
  
  # ... and all the rest that could be moved out of bindir to gitexecdir
  PROGRAMS = \
 -      git-checkout-index$X \
        git-convert-objects$X git-fetch-pack$X git-fsck-objects$X \
        git-hash-object$X git-index-pack$X git-local-fetch$X \
        git-merge-base$X \
 -      git-merge-index$X git-mktag$X git-mktree$X git-pack-objects$X git-patch-id$X \
 -      git-peek-remote$X git-prune-packed$X git-receive-pack$X \
 +      git-merge-index$X git-mktag$X git-mktree$X git-patch-id$X \
 +      git-peek-remote$X git-receive-pack$X \
        git-send-pack$X git-shell$X \
        git-show-index$X git-ssh-fetch$X \
        git-ssh-upload$X git-unpack-file$X \
 -      git-unpack-objects$X git-update-server-info$X \
 +      git-update-server-info$X \
        git-upload-pack$X git-verify-pack$X \
 -      git-symbolic-ref$X \
 -      git-name-rev$X git-pack-redundant$X git-repo-config$X git-var$X \
 +      git-pack-redundant$X git-var$X \
        git-describe$X git-merge-tree$X git-blame$X git-imap-send$X
  
 -BUILT_INS = git-log$X git-whatchanged$X git-show$X git-update-ref$X \
 -      git-count-objects$X git-diff$X git-push$X git-mailsplit$X \
 -      git-grep$X git-add$X git-rm$X git-rev-list$X git-stripspace$X \
 -      git-check-ref-format$X git-rev-parse$X git-mailinfo$X \
 -      git-init-db$X git-tar-tree$X git-upload-tar$X git-format-patch$X \
 -      git-ls-files$X git-ls-tree$X git-get-tar-commit-id$X \
 -      git-read-tree$X git-commit-tree$X git-write-tree$X \
 -      git-apply$X git-show-branch$X git-diff-files$X git-update-index$X \
 -      git-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \
 -      git-fmt-merge-msg$X git-prune$X git-mv$X
 +BUILT_INS = \
 +      git-format-patch$X git-show$X git-whatchanged$X \
 +      git-get-tar-commit-id$X \
 +      $(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
  
  # what 'all' will build and 'install' will install, in gitexecdir
  ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
@@@ -218,7 -230,7 +227,7 @@@ LIB_H = 
        blob.h cache.h commit.h csum-file.h delta.h \
        diff.h object.h pack.h pkt-line.h quote.h refs.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
 +      tree-walk.h log-tree.h dir.h path-list.h builtin.h
  
  DIFF_OBJS = \
        diff.o diff-lib.o diffcore-break.o diffcore-order.o \
@@@ -233,50 -245,20 +242,50 @@@ LIB_OBJS = 
        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 \
        fetch-clone.o revision.o pager.o tree-walk.o xdiff-interface.o \
 -      alloc.o merge-file.o path-list.o $(DIFF_OBJS)
 +      alloc.o merge-file.o path-list.o help.o $(DIFF_OBJS)
  
  BUILTIN_OBJS = \
 -      builtin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \
 -      builtin-grep.o builtin-add.o builtin-rev-list.o builtin-check-ref-format.o \
 -      builtin-rm.o builtin-init-db.o builtin-rev-parse.o \
 -      builtin-tar-tree.o builtin-upload-tar.o builtin-update-index.o \
 -      builtin-ls-files.o builtin-ls-tree.o builtin-write-tree.o \
 -      builtin-read-tree.o builtin-commit-tree.o builtin-mailinfo.o \
 -      builtin-apply.o builtin-show-branch.o builtin-diff-files.o \
 -      builtin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \
 -      builtin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \
 -      builtin-update-ref.o builtin-fmt-merge-msg.o builtin-prune.o \
 -      builtin-mv.o
 +      builtin-add.o \
 +      builtin-apply.o \
 +      builtin-cat-file.o \
 +      builtin-checkout-index.o \
 +      builtin-check-ref-format.o \
 +      builtin-commit-tree.o \
 +      builtin-count-objects.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-grep.o \
 +      builtin-init-db.o \
 +      builtin-log.o \
 +      builtin-ls-files.o \
 +      builtin-ls-tree.o \
 +      builtin-mailinfo.o \
 +      builtin-mailsplit.o \
 +      builtin-mv.o \
 +      builtin-name-rev.o \
 +      builtin-pack-objects.o \
 +      builtin-prune.o \
 +      builtin-prune-packed.o \
 +      builtin-push.o \
 +      builtin-read-tree.o \
 +      builtin-repo-config.o \
 +      builtin-rev-list.o \
 +      builtin-rev-parse.o \
 +      builtin-rm.o \
 +      builtin-show-branch.o \
 +      builtin-stripspace.o \
 +      builtin-symbolic-ref.o \
 +      builtin-tar-tree.o \
 +      builtin-unpack-objects.o \
 +      builtin-update-index.o \
 +      builtin-update-ref.o \
 +      builtin-upload-tar.o \
 +      builtin-verify-pack.o \
 +      builtin-write-tree.o
  
  GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
  LIBS = $(GITLIBS) -lz
@@@ -335,9 -317,9 +344,9 @@@ ifeq ($(uname_O),Cygwin
        NO_D_TYPE_IN_DIRENT = YesPlease
        NO_D_INO_IN_DIRENT = YesPlease
        NO_STRCASESTR = YesPlease
 -      NO_STRLCPY = YesPlease
        NO_SYMLINK_HEAD = YesPlease
        NEEDS_LIBICONV = YesPlease
 +      NO_C99_FORMAT = YesPlease
        # There are conflicting reports about this.
        # On some boxes NO_MMAP is needed, and not so elsewhere.
        # Try uncommenting this if you see things break -- YMMV.
@@@ -459,9 -441,6 +468,9 @@@ endi
  ifdef NO_D_INO_IN_DIRENT
        ALL_CFLAGS += -DNO_D_INO_IN_DIRENT
  endif
 +ifdef NO_C99_FORMAT
 +      ALL_CFLAGS += -DNO_C99_FORMAT
 +endif
  ifdef NO_SYMLINK_HEAD
        ALL_CFLAGS += -DNO_SYMLINK_HEAD
  endif
@@@ -544,7 -523,7 +553,7 @@@ LIB_OBJS += $(COMPAT_OBJS
  export prefix TAR INSTALL DESTDIR SHELL_PATH template_dir
  ### Build rules
  
- all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk
+ all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk gitweb/gitweb.cgi
  
  all:
        $(MAKE) -C templates
@@@ -557,7 -536,7 +566,7 @@@ git$X: git.c common-cmds.h $(BUILTIN_OB
                $(ALL_CFLAGS) -o $@ $(filter %.c,$^) \
                $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
  
 -builtin-help.o: common-cmds.h
 +help.o: common-cmds.h
  
  $(BUILT_INS): git$X
        rm -f $@ && ln git$X $@
@@@ -602,6 -581,22 +611,22 @@@ git-status: git-commi
        cp $< $@+
        mv $@+ $@
  
+ gitweb/gitweb.cgi: gitweb/gitweb.perl
+       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_CONFIG++|$(GITWEB_CONFIG)|g' \
+           -e 's|++GITWEB_SITENAME++|$(GITWEB_SITENAME)|g' \
+           -e 's|++GITWEB_PROJECTROOT++|$(GITWEB_PROJECTROOT)|g' \
+           -e 's|++GITWEB_LIST++|$(GITWEB_LIST)|g' \
+           -e 's|++GITWEB_HOMETEXT++|$(GITWEB_HOMETEXT)|g' \
+           -e 's|++GITWEB_CSS++|$(GITWEB_CSS)|g' \
+           -e 's|++GITWEB_LOGO++|$(GITWEB_LOGO)|g' \
+           $< >$@+
+       chmod +x $@+
+       mv $@+ $@
  git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
        rm -f $@ $@+
        sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
            -e '/@@GITWEB_CGI@@/d' \
            -e '/@@GITWEB_CSS@@/r gitweb/gitweb.css' \
            -e '/@@GITWEB_CSS@@/d' \
-           $@.sh | sed "s|/usr/bin/git|$(bindir)/git|" > $@+
+           $@.sh > $@+
        chmod +x $@+
        mv $@+ $@
  
 +configure: configure.ac
 +      rm -f $@ $<+
 +      sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
 +          $< > $<+
 +      autoconf -o $@ $<+
 +      rm -f $<+
 +
  # These can record GIT_VERSION
  git$X git.spec \
        $(patsubst %.sh,%,$(SCRIPT_SH)) \
@@@ -749,7 -737,7 +774,7 @@@ install: al
        $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
        $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
        $(INSTALL) git$X gitk '$(DESTDIR_SQ)$(bindir_SQ)'
 -      $(MAKE) -C templates install
 +      $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
        $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(GIT_PYTHON_DIR_SQ)'
        $(INSTALL) $(PYMODULES) '$(DESTDIR_SQ)$(GIT_PYTHON_DIR_SQ)'
        if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
@@@ -814,10 -802,11 +839,11 @@@ clean
        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 config.log config.mak.autogen configure config.status config.cache
 +      rm -f configure config.log config.mak.autogen config.mak.append config.status config.cache
        rm -rf $(GIT_TARNAME) .doc-tmp-dir
        rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
        rm -f $(htmldocs).tar.gz $(manpages).tar.gz
+       rm -f gitweb/gitweb.cgi
        $(MAKE) -C Documentation/ clean
        $(MAKE) -C templates clean
        $(MAKE) -C t/ clean